BIT_PACKING is written by default when Definition or Repetition levels are empty
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.6k
- 平均マージ
- 3日 12時間
- マージ済み PR(30日)
- 33
説明
As discussed in https://github.com/apache/arrow/discussions/47113 , this package is writing the deprecated BIT_PACKING encoding to the column metadata and the DataPageHeader. This is only seems to happens when rep/def levels are empty. I think this is where it's happening:
```java
public class DevNullValuesWriter extends ValuesWriter {
....
public Encoding getEncoding() {
return BIT_PACKED;
}
}
```
Wouldn't it make sense to just return RLE?
I've seen this in parquet-java 1.15.1 and Overture Maps files using 1.13.1.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず DevNullValuesWriter を見つけてその getEncoding() の実装を調べ、次にその値が列メタデータと DataPageHeader にどのように到達するかを追跡します。空の反復レベルと定義レベルによって、非推奨の BIT_PACKED エンコーディングが生成されず、代わりに RLE が使用されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- data-engineering
- issue の種類
- バグ
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100