Commit adcecf4
apacheGH-34785: [C++][Parquet] Add bloom filter write support (apache#37400)
### Rationale for this change
Currently we allow reading bloom filter for specific column and row group. Now this patch allows writing bloom filters to Parquet files.
### What changes are included in this PR?
Allow writing bf:
* [x] Add WriterProperties config for writing bloom filter, including bf and (per-rowgroup) ndv estimation.
* [x] Add BloomFilterBuilder for parquet
* [x] From FileSerializer to ColumnWriter, adding bloomfilter
* [x] Ensure Bloom Filter info is written to the file
* [x] Testing logic for BloomFilterBuilder
* [x] Testing logic for BloomFilter and ColumnWriter
* [x] Testing whole roundtrip like `ParquetPageIndexRoundTripTest`
### Are these changes tested?
Yes
### Are there any user-facing changes?
User can create Bloom Filter in parquet with C++ api
* Closes: apache#34785
* GitHub Issue: apache#34785
Lead-authored-by: Gang Wu <ustcwg@gmail.com>
Co-authored-by: mwish <maplewish117@gmail.com>
Co-authored-by: mwish <anmmscs_maple@qq.com>
Signed-off-by: Antoine Pitrou <antoine@python.org>1 parent f98bf64 commit adcecf4
25 files changed
Lines changed: 1701 additions & 610 deletions
File tree
- cpp/src/parquet
- arrow
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
| 164 | + | |
164 | 165 | | |
165 | 166 | | |
166 | 167 | | |
| |||
373 | 374 | | |
374 | 375 | | |
375 | 376 | | |
376 | | - | |
| 377 | + | |
377 | 378 | | |
378 | 379 | | |
379 | 380 | | |
| |||
409 | 410 | | |
410 | 411 | | |
411 | 412 | | |
| 413 | + | |
| 414 | + | |
412 | 415 | | |
413 | 416 | | |
414 | 417 | | |
| |||
Large diffs are not rendered by default.
0 commit comments