apache / apache/parquet-format
Consider adding BloomFilterHeader to ColumnMetaData
- Dominant language
- Thrift
- Stars
- 2.6k
- Forks
- 508
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 4
Description
Currently ColumnMetaData only contains bloom_filter_offset, which points to BloomFilterHeader followed by the bloom filter data.
This solution is not optimal during reading, as two IO reads are needed once we know bloom_filter_offset - one to read the header, which contains the size of the bloom filter, then another to read the actual bloom filter to a buffer. Having the size near bloom_filter_offset would allow to do this in a single read.
Having algorithm/hash/compression could be also useful by allowing skipping the read of the bloom filter if one of those parameters is not supported.
**Reporter**: [Csaba Ringhofer](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=csringhofer) / @csringhofer
**Note**: *This issue was originally created as [PARQUET-1981](https://issues.apache.org/jira/browse/PARQUET-1981). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Contributor guide
Research direction
Start by reading the schema definitions for ColumnMetaData and BloomFilterHeader, focusing on how bloom_filter_offset and the header size are represented. Done means ColumnMetaData can expose the needed size and, where appropriate, algorithm, hash, and compression information so readers can avoid a second read or skip unsupported filters.
Written by the indexing model from the issue text.
Assessment
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100