ビッグデータ分析ワークロードに優れた圧縮とクエリパフォーマンスを提供するオープンソースの列指向ストレージファイル形式
によって Databricks Staff による投稿
Apache Parquet は、効率的なデータの保存と検索のために設計された、オープンソースの列指向データファイル形式です。複雑なデータを一括処理するための効率的なデータ圧縮と符号化方式を提供し、パフォーマンスを向上させます。Apache Parquet は、バッチとインタラクティブの両方のワークロードで共通の交換形式となるように設計されており、Hadoop で利用可能な他の列指向ストレージファイル形式である RCFile や ORC に似ています。
グローバルデータおよび AI コミュニティの中心、米国サンフランシスコで開催されるData + AI Summit 2025にて、基調講演およびAIエージェント、生成AI、データインテリジェンスなどデータエンジニアリング分野を網羅する700以上のセッションの中から、主要スピーカーによる発表を 6 月 12日から13日にわたって配信されるライブ配信でご覧いただけます。また、イベント終了後にはオンデマンドでの再視聴が提供されます。このページから会員登録のうえ、無料で事前登録を行ってください。
Apache Parquet は、レコードのシュレッダーとアセンブリアルゴリズムによって実装され、データの保存に使用できる複雑なデータ構造に対応しています。また、複雑なデータを一括処理するために最適化されており、効率的なデータ圧縮とエンコーディングタイプを備えているのが特徴です。特に、大きなテーブルから特定の列を読み込むクエリに最適です。Parquet は、必要な列のみを読み込むことで IO を大幅に削減できます。
CSV は、Excel や Google スプレッドシートなどの多くのツールで使用されており、他にも多数のツールで使用されているシンプルで一般的なフォーマットです。CSV はデータパイプラインのデフォルト設定ですが、次のようなデメリットがあります。
Parquet により、大規模なデータセットのストレージ必要量は少なくとも 3 分の 1 削減され、スキャンとデシリアライゼーションに必要な時間の大幅な改善で、全体のコストが削減されています。 以下の表は、データを CSV から Parquet へ変換することで得られる速度と節約率を比較したものです。
|
データセット |
Amazon S3 でのデータサイズ |
クエリの実行時間 |
スキャンデータ |
コスト |
|
CSV ファイルのデータ |
1 TB |
236 秒 |
1.15 TB |
US$5.75 |
|
Apache Parquet 形式のデータ |
130 GB |
6.78 秒 |
2.51 GB |
US$0.01 |
|
削減率 |
Parquet 使用による削減率 87% |
34 倍速 |
スキャンデータ削減率 99% |
削減率 99.7% |
オープンソースの Delta Lake プロジェクトは、Parquet 形式に基づいて構築され、さまざまな機能の追加により拡張されています。追加機能には、クラウドオブジェクトストレージの ACID トランザクション、タイムトラベル (Time Travel)、スキーマの拡張、シンプルな DML コマンド(CREATE、UPDATE、INSERT、DELETE、MERGE)などがあります。Delta Lake は、順序付けられたトランザクションログを使用してこれらの重要な機能の多くを実装しています。これにより、クラウドのオブジェクトストレージ上におけるデータウェアハウス機能が可能になります。詳細は、こちらの動画 Delta Lake 詳細編:トランザクションログをご覧ください。
1. Parquetの主な利点は何ですか?
データ圧縮が高効率であり、列ベースのデータアクセスによりクエリパフォーマンスが向上し、ストレージコストが削減されます。
2. ParquetとCSVのパフォーマンスの違いはどのようなものですか?
ParquetはCSVに比べてデータサイズを大幅に減少させ、クエリの実行時間も短縮し、スキャンするデータ量も削減します。
3. Delta LakeとParquetの関係は?
Delta LakeはParquetを基にしており、ACIDトランザクションやタイムトラベルなどの追加機能を実装しています。
ブログを購読して、最新の投稿を受信トレイにお届けします。