chDB で Apache Arrow をクエリする方法
Apache Arrow は、データコミュニティで広く利用されている標準化されたカラム指向のメモリフォーマットです。
このガイドでは、Python テーブル関数を使用して Apache Arrow をクエリする方法を学びます。
セットアップ
まずは仮想環境を作成します:
次に、chDB をインストールします。 バージョン 2.0.2 以上であることを確認してください。
それでは、PyArrow、pandas、および IPython をインストールします。
このガイドの残りのコマンドは ipython を使って実行します。次のコマンドを実行して起動してください:
このコードは、Python スクリプトやお好みのノートブック環境でも使用できます。
ファイルから Apache Arrow テーブルを作成する
まず、Ookla データセットの Parquet ファイルの一つを、AWS CLI ツールを使ってダウンロードします。
より多くのファイルをダウンロードしたい場合は、aws s3 ls を使用してすべてのファイルの一覧を表示し、それに合わせて上記のコマンドを更新してください。
次に、pyarrow パッケージから Parquet モジュールをインポートします。
次に、Parquet ファイルを Apache Arrow のテーブルとして読み込みます:
スキーマは次のとおりです。
shape 属性から行数と列数を取得できます。
Apache Arrow をクエリする
ここでは、chDB から Apache Arrow テーブルをクエリしてみましょう。 まず、chDB をインポートします。
次に、テーブルの構造を確認します。
行数も取得できます。
では、もう少し興味深いことをしてみましょう。
次のクエリは quadkey と tile.* カラムを除外したうえで、残りのすべてのカラムについて平均値と最大値を計算します。