Parquetファイルのクエリ方法
世界中のデータの多くはAmazon S3バケットに存在しています。 このガイドでは、chDBを使用してそのデータをクエリする方法を学びます。
セットアップ
まず、仮想環境を作成しましょう:
次に、chDBをインストールします。 バージョン2.0.2以上であることを確認してください:
次に、IPythonをインストールします:
これからのガイドのコマンドを実行するために、ipython
を使用します。以下のように実行して起動できます:
また、Pythonスクリプトやお気に入りのノートブックでコードを使用することも可能です。
Parquetメタデータの探索
まず、AmazonレビューデータセットのParquetファイルを探索します。
その前に、chDB
をインストールしましょう:
Parquetファイルをクエリするときは、ファイルの内容ではなくParquetメタデータを返すために、ParquetMetadata
入力フォーマットを使用できます。
このフォーマットを使用したときに返されるフィールドを見るためにDESCRIBE
句を使いましょう:
このファイルのメタデータを見てみましょう。
columns
とrow_groups
は多くのプロパティを含むタプルの配列を含んでいるため、今はそれらを除外します。
この出力から、このParquetファイルには4,000万以上の行があり、42の行グループに分かれていることがわかります。各行には15のカラムのデータがあります。 行グループはデータの論理的な水平方向のパーティショニングであり、各行グループには関連するメタデータがあり、クエリツールはそのメタデータを利用してファイルを効率的にクエリできます。
行グループの一つを見てみましょう:
Parquetファイルのクエリ
次に、ファイルの内容をクエリしてみましょう。
上記のクエリを調整してParquetMetadata
を取り除き、全レビューの中で最も人気のあるstar_rating
を計算します:
興味深いことに、5つ星のレビューは他の評価の合計よりも多いですね! アマゾンの製品が好きな人が多いのか、それとも嫌いな場合は評価を投稿しないだけなのかもしれません。