Apache Parquetデータ
データ分析・科学Parquetは列単位でデータを保存する分析向けのバイナリ形式です。CSVと違い、型や入れ子構造等を持てます。フォルダーに複数のParquetが並ぶ場合は分割されたデータセットの一部かもしれないため、1ファイルだけを全件と考えず、配布元の構成を確認します。
- 主な用途
- 型付きの列指向データ保存と分析
- 中身の種類
- バイナリデータ
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- 表計算ソフトで開けない:対応する分析ツールを使い、必要範囲だけをCSV等へ出します。
- 行数が足りない:分割ファイル、パーティションや読み込み条件を確認します。
- 時刻や数値が違う:タイムゾーン、整数幅、小数精度、欠損値の扱いを確認します。
- 一つ開いたら件数が少ない:データセットの他のパーティションを確認します。
- 読込でメモリー不足:必要な列・行グループ・バッチを選び、全件展開を避けます。
- CSV化でIDや日時が変わる:文字列、精度、タイムゾーンの扱いを比較します。
Parquet → CSV / Arrow
- 対象の列・行とスキーマを記録し、入れ子の列をどのように表へ出すか決めます。
- 書き出し後に件数、型、欠損、代表値を照合して原本を残します。
- 件数、列型、時刻の精度とパーティション範囲を照合します。
CSVでは型、入れ子、メタデータ等をそのまま保持できません。全件展開には圧縮ファイルサイズ以上のメモリーが必要な場合があります。
列指向を活かして少量から読む
大きなファイルでは必要列だけを選びます。PyArrowのParquetFile等でメタデータを先に調べ、実際に必要な範囲を読みます。
ディスク上の容量は展開後のメモリー量と同じではありません。文字列や入れ子列も含めて処理量を考えます。
この手順の根拠:Apache Software Foundation · Apache Parquet Documentation / Apache Arrow Project · Reading and Writing Apache Parquet
データセットの全体を検証する
フォルダーの一部だけコピーすると、読めても必要な行が欠ける場合があります。対象範囲と件数を記録します。
日付、null、重複IDと列型を出力先で比較します。見える表の一部だけで移行完了と判断しません。
この手順の根拠:Apache Software Foundation · Apache Parquet Documentation / Apache Arrow Project · Reading and Writing Apache Parquet
関連形式との違い
| 形式 | 主な役割 | 確認する点 |
|---|---|---|
| Parquet | 列指向の保存形式 | スキーマ・パーティション |
| Arrow IPC | バッチ等のデータ交換 | ファイル・ストリーム |
| CSV | テキスト表 | 型情報は別に必要 |
取り扱いと安全性
共有前に個人情報の列や隠れた属性を確認します。未知の大容量データを全件読み込まず、最新の対応ツールでコピーを扱います。
よくある質問
CSVを改名したもの?
保存構造が異なるバイナリ形式です。
1ファイルが全データ?
分割されたデータセットの一部の場合があります。
Excelへ出せば型も残る?
精度、日時、入れ子等を変換後に確認してください。
ParquetはZIPで解凍する表?
列指向のデータ形式です。内部圧縮を対応リーダーが処理するので、一般書庫の展開では表になりません。
パーティション列が単独ファイル内にないのは?
フォルダー構造から列が構成されるデータセットがあります。ファイル単体とデータセット全体の読み込み結果を比較します。
形式の基本情報:正式名称・MIME type・管理団体
- 名称
- Apache Parquet
- 管理・仕様
- Apache Software Foundation
- MIME type
- 作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。
公式・一次情報
- プロジェクト公式Apache Parquet Documentation
列指向の保存とParquet仕様への入口です。
Apache Software Foundation · リンク確認: - 公式資料Reading and Writing Apache Parquet
スキーマ、列選択、複数ファイルのデータセット。
Apache Arrow Project · リンク確認: