Tim Meehan created SPARK-59417:
----------------------------------

             Summary: Stream multiline top-level JSON arrays during JSON reads
                 Key: SPARK-59417
                 URL: https://issues.apache.org/jira/browse/SPARK-59417
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 4.0.0
            Reporter: Tim Meehan


When Spark reads multiline JSON whose root value is an array of structs, 
{{JacksonParser}} currently materializes the entire array before returning 
rows. For large arrays, parser-side memory usage therefore grows with the 
complete document size.

Add an opt-in SQL configuration that allows elements of a top-level array to be 
emitted lazily from a single Jackson parser. The existing eager behavior 
remains the default for compatibility and staged rollout.

The streaming path should:
 * Keep parser-side memory bounded rather than materializing the full array.
 * Preserve rows emitted before a later malformed element.
 * Handle late failures according to PERMISSIVE, DROPMALFORMED, and FAILFAST 
modes.
 * Leave existing eager parser callers unchanged.

{{
Configuration: }}
{{spark.sql.json.enableStreamingTopLevelArray (default false)}}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to