02-15-2022 09:26 AM
I was creating delta table from ADLS json input file. but the job was running long while creating delta table from json. Below is my cluster configuration. Is the issue related to cluster config ? Do I need to upgrade the cluster config ?
The cluster was created for non-prod environment and we have complex batch ETL ie.., join, aggregation. Shall i create a small cluster with 400GB memory and 50 cores ? Please advise on this.
Input JSON file size - 5 GB
standard_D3_V2
14 GB memory and 4 cores
worker node - min -2 and max -8
executor type -standard_D3_V2
14GB memory and 4 cores
Note- the cluster was ALLPURPOSE
03-03-2022 10:28 AM
So the databricks docs state the following:
You can read JSON files in single-line or multi-line mode. In single-line mode, a file can be split into many parts and read in parallel. In multi-line mode, a file is loaded as a whole entity and cannot be split.
What this means is that you will not have parallelism while reading the json.
So you have a few options:
02-16-2022 08:29 AM
Hello, @Jana A! It's nice to meet you! My name is Piper, and I'm a moderator for Databricks. Welcome to the community. Thanks for your question. We'll give your peers a chance to respond and then we'll circle back if we need to.
Thanks in advance for your patience. 🙂
02-16-2022 11:23 PM
Have you checked this topic? There might be some ideas there.
03-01-2022 12:33 AM
Note - Df was created with multi line true.The job was running long and slowdown the cluster performance. Can you please help me on the issue
Thanks
03-01-2022 12:48 AM
with multiline = true, the json is read as a whole and processed as such.
I'd try with a beefier cluster.
03-03-2022 09:55 AM
Yes, the issue was with multiline = true property. Spark is reading as whole. How to resolve the issue?
03-03-2022 10:28 AM
So the databricks docs state the following:
You can read JSON files in single-line or multi-line mode. In single-line mode, a file can be split into many parts and read in parallel. In multi-line mode, a file is loaded as a whole entity and cannot be split.
What this means is that you will not have parallelism while reading the json.
So you have a few options:
3 weeks ago
Splitting the file was the easiest solution for me. I was trying to load a 3GB JSON file into a delta table. I'm working on a cluster with 128GB memory. The resulting error message does not help identify the issue. I split the file into three 1GB files. Worked like a charm
03-04-2022 09:40 AM
Increase driver memory or executor memory,? I have changed my cluster executor conf from 14 GB to 28 GB. With the changes, we were able to complete the job without an issue.
03-07-2022 03:14 PM
Hi @Jana A ,
Did @Werner Stinckens reply helped you resolve your issue? if yes, could you mark his response as "best response" please?
Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you won’t want to miss the chance to attend and share knowledge.
If there isn’t a group near you, start one and help create a community that brings people together.
Request a New Group