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

Parquetファイルのクエリ方法

世界中のデータの多くはAmazon S3バケットに存在しています。 このガイドでは、chDBを使用してそのデータをクエリする方法を学びます。

セットアップ

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

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

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

これからのガイドのコマンドを実行するために、ipythonを使用します。以下のように実行して起動できます:

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

Parquetメタデータの探索

まず、AmazonレビューデータセットのParquetファイルを探索します。 その前に、chDBをインストールしましょう:

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

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

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

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

Parquetファイルのクエリ

次に、ファイルの内容をクエリしてみましょう。 上記のクエリを調整してParquetMetadataを取り除き、全レビューの中で最も人気のあるstar_ratingを計算します:

興味深いことに、5つ星のレビューは他の評価の合計よりも多いですね! アマゾンの製品が好きな人が多いのか、それとも嫌いな場合は評価を投稿しないだけなのかもしれません。