Add way to disables statistics on a per column basis
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.6k
- 平均マージ
- 3日 12時間
- マージ済み PR(30日)
- 33
説明
When you write dataset with BINARY columns that can be fairly large (several Mbs) you can often end with an OutOfMemory error where you either have to:
- Throw more RAM
- Increase number of output files
- Play with Block size
Using a fork with increased checks frequency for row group size help but it is not enough. (PR: )
The OutOfMemory error is now caused due to the accumulation of min/max values for those columns for each BlockMetaData.
The "parquet.statistics.truncate.length" configuration is of no help because it is applied during the footer serialization whereas the OOM occurs before that.
I think it would be nice to have, like for dictionary or bloom filter, a way to disable the statistic on a per-column basis.
Could be very useful to lower memory consumption when stats of huge binary column are unnecessary.
**Reporter**: [Anthony Pessy](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=panthony) / @panthony
#### Original Issue Attachments:
- [add_config_to_opt-out_of_a_column's_statistics.patch](https://issues.apache.org/jira/secure/attachment/13011473/add_config_to_opt-out_of_a_column%27s_statistics.patch)
- [NoOpStatistics.java](https://issues.apache.org/jira/secure/attachment/13037932/NoOpStatistics.java)
**Note**: *This issue was originally created as [PARQUET-1911](https://issues.apache.org/jira/browse/PARQUET-1911). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、添付された NoOpStatistics.java と add_config_to_opt-out_of_a_column's_statistics.patch を読み、続いて footer のシリアライズ前に BlockMetaData 内で統計情報がどのように蓄積されるかを追跡してください。大きな BINARY 列が min/max 値を蓄積して OutOfMemory エラーを引き起こさないよう、列ごとに統計情報を無効化できる方法を提供できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- data-engineering
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100