メインコンテンツまでスキップ
メインコンテンツまでスキップ

Parquetファイルのクエリ方法

A lot of the world's data lives in Amazon S3 buckets.
このガイドでは、chDBを使用してそのデータをクエリする方法を学びます。

Setup

まず、仮想環境を作成しましょう:

次に、chDBをインストールします。
バージョン2.0.2以上であることを確認してください:

次に、IPythonをインストールします:

今後のガイドのコマンドを実行するためにipythonを使用します。
次のコマンドで起動できます:

Pythonスクリプトやお気に入りのノートブックでもこのコードを使用できます。

Exploring Parquet metadata

Amazon reviewsデータセットからParquetファイルを探索します。
まず、chDBをインストールしましょう:

Parquetファイルをクエリする際には、ファイルの内容ではなくParquetメタデータを返すために、ParquetMetadata入力形式を使用できます。
この形式を使用したときに返されるフィールドを見るためにDESCRIBE句を使用しましょう:

このファイルのメタデータを見てみましょう。
columnsrow_groupsは、それぞれ多くのプロパティを含むタプルの配列を含んでいるため、今回はこれを除外します。

この出力から、このParquetファイルは4200万行以上を持ち、42の行グループに分割され、各行に15カラムのデータがあることがわかります。
行グループは、データを行に水平に論理的にパーティショニングしたものです。
各行グループには関連するメタデータがあり、クエリツールはそのメタデータを利用してファイルを効率的にクエリできます。

行グループの1つを見てみましょう:

Querying Parquet files

次に、ファイルの内容をクエリします。
上記のクエリからParquetMetadataを削除することで、すべてのレビューにわたる最も人気のあるstar_ratingを計算できます:

興味深いことに、5つ星のレビューは他のすべての評価を合わせたよりも多いです!
アマゾンの製品が好まれているようです、あるいは、もし好まれていないのなら、評価を提出していないだけかもしれません。