wiedld opened a new pull request, #11524: URL: https://github.com/apache/datafusion/pull/11524
## Which issue does this PR close? Part of #11367 This PR defines the current state. ## Rationale for this change When we switched from using the parquet's ArrowWriter (with [options](https://docs.rs/parquet/latest/parquet/arrow/arrow_writer/struct.ArrowWriterOptions.html)) to the parallelized parquet writer (with [it's own options](https://docs.rs/datafusion/latest/datafusion/datasource/file_format/parquet/struct.ParquetSink.html#method.parquet_options)), we ran into unintended behaviors due to different default settings. Here are the places where the current defaults differ: | setting_name | applied | default, datafusion (ParquetOptions) | default, parquet (ArrowWriterOptions) | | ---------------------------- | -------------- | ------------------------------------ | ------------------------------------- | | data_page_row_count_limit | file | usize::MAX | 20_000 | | column_index_truncate_length | file | None | Some(64) | | compression | column default | zstd | uncompressed | | dictionary_enabled | column default | None or true † | true | | statistics_enabled | column default | None or page † | page | | max_statistics_size | column default | None or 4096 † | 4096 | † For these settings, datafusion has no default (None). However, once datafusion's ParquetOptions are used by the extern parquet (a.k.a. converted to parquet's ArrowWriterOptions) then it uses the extern parquet's defaults. Refer to the newly added tests. . Additionally, there are differences in the bloom filter configurations based upon partial definition (a.k.a. leaving some as default, and some as defined): | bloom_filter_on | fpp | ndv | if build from datafusion's ParquetOptions | if build from (arrow-rs) parquet's WriterPropertiesBuilder | | --------------- | ---- | ---- | -------------------------------------------- | ------------------------------------ | | false | none | none | None | None | | **TRUE** | none | none | Some(BloomFilterProperties::default) | None | | true | **SOME** | none | Some(BloomFilterProperties: fpp,default_ndv) | None | | true | none | **SOME** | Some(BloomFilterProperties: ndv,default_fpp) | None | ## What changes are included in this PR? There are no functional changes in this PR. This PR is adding tests to define and demonstrate the differences in the defaults. After discussion and consensus, we'll have a follow up PR for implementing any desired changes. ## Are these changes tested? Yes, it's only tests. ## Are there any user-facing changes? No. -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org