andygrove opened a new issue, #5304:
URL: https://github.com/apache/datafusion-comet/issues/5304

   ### What is the problem the feature request solves?
   
   `ParquetWriterExec` builds its `WriterProperties` with compression and 
nothing else (`native/core/src/execution/operators/parquet_writer.rs`):
   
   ```rust
   let props = WriterProperties::builder()
       .set_compression(compression)
       .build();
   ```
   
   Every other Parquet write knob Spark exposes is therefore silently ignored, 
and files come out with arrow-rs defaults rather than the ones the user 
configured:
   
   - `parquet.block.size` (row group size) — tracked as an unchecked item on 
#2967
   - `parquet.page.size` / `parquet.page.row.count.limit`
   - `parquet.enable.dictionary` and dictionary page size
   - `spark.sql.parquet.writer.version` (`PARQUET_1_0` / `PARQUET_2_0`)
   - statistics level, and bloom filter settings
   - `spark.sql.files.maxRecordsPerFile` (needs file rolling, so partly 
separate)
   
   Row group size is the one with real consequences: the default row group size 
decides read parallelism and memory for every downstream consumer, and a user 
who set `parquet.block.size` gets no error, just a differently shaped file.
   
   This also matters beyond the V1 write path — #4658 splits Iceberg writes 
into writer + committer operators with the stated goal of writing data files 
natively next, and Iceberg data files are read by engines other than Spark.
   
   ### Describe the potential solution
   
   Thread the resolved options through the `ParquetWriter` protobuf message and 
set them on `WriterProperties`. Spark's `ParquetOptions` / 
`ParquetWriteSupport` are the reference for precedence and defaults.
   
   Related: #2814 (compression settings), #3425 (INT96), #3427 (Spark version 
in footer metadata).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to