apache / apache/parquet-java

Old Parquet files with wrong Compressed Size not Readable

オープン
#2,926 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

In certain circumstances, the CLI will fail to read old (perhaps ancient) parquet files that have an incorrect compressed_size field set in the column metadata that does not include the dictionary page (at least according to the comment in the code). The code that is supposed to handle this does not flip the byte buffer it reads the extra bytes into. It appears to have been broken for a few years now.

I have written a PR that includes a defective parquet file with this issue, wrote a unit test that fails without the additional `flip`, and validated that the code works afterwards.

This is a trivial minor issue that was from learning the code rather than actually addressing a production issue, so there's no urgency.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

compressed_size に dictionary page が含まれていない古い Parquet ファイルを処理する CLI のコードパスから始め、続いて追加バイトに使用されるバイトバッファを調べます。issue で説明されている欠陥のある Parquet ファイルと unit test を使用します。テストがパスし、バッファを flip した後に古いファイルを読み取れる状態になれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
data-engineering
issue の種類
バグ
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。