Is big Decimal in Parquet big endian?
- 主要言語
- Java
- スター
- 3.1k
- フォーク
- 1.6k
- 平均マージ
- 3日 12時間
- マージ済み PR(30日)
- 33
説明
### Describe the usage question you have. Please include as many useful details as possible.
It's not clear from description https://parquet.apache.org/docs/file-format/data-pages/encodings/ how are big Decimals (precision >= 18) placed. As I could understand they can be encoded as BYTE_ARRAY or FIXED_LEN_BYTE_ARRAY. But there're two ways to place "the bytes contained in the array" from memory: big endian and little endian. I.e. they are in LE in int128 in memory. Could I place the bytes into FIXED_LEN_BYTE_ARRAY as is?
It's also not clean if there's some encoding over these decimal's bytes, should the data be swapped to correct endianness before of after the encoding?
### Component(s)
_No response_
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
Issue にリンクされている Parquet のデータページエンコーディングのドキュメントから始め、BYTE_ARRAY と FIXED_LEN_BYTE_ARRAY の decimal 値に関するバイト順序とエンコーディング規則を確認します。完了条件は、大きな decimal が big-endian と little-endian のどちらのバイトを使用するのか、またエンコーディングまたはバイトスワッピングがいつ発生するのかを文書化することです。
索引モデルが issue の本文から書いたものです。
評価
- 領域
- data-engineering
- issue の種類
- ドキュメント
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100