世界中の多くのデータは Amazon S3 バケットに保存されています。
このガイドでは、chDB を使ってそれらのデータをクエリする方法を説明します。
まず、仮想環境を作成します。
それでは、chDB をインストールします。
バージョン 2.0.2 以降であることを確認してください。
では、IPython をインストールします。
このガイドの残りでは、コマンドの実行に ipython を使用します。次を実行すると起動できます。
このコードは、Pythonスクリプトや使い慣れたノートブックでも使用できます。
まずは、Amazonレビューを含む S3バケット 内のすべてのファイルを一覧表示してみましょう。
これを行うには、s3 テーブル関数 を使用し、ファイルへのパス、または複数のファイルを対象とするワイルドカードを渡します。
また、ファイルが解析されないように One 入力フォーマットも使用します。これにより、ファイルごとに1行だけが返され、_file 仮想カラムでファイルに、_path 仮想カラムでパスにアクセスできます。
このバケットにはParquetファイルのみが格納されています。
次に、これらのファイルに対してクエリを実行する方法を見ていきましょう。
これらの各ファイルの行数を数えるには、次のクエリを実行できます。
S3 バケットの HTTP URI を指定しても、同じ結果が得られます:
DESCRIBE 句を使用して、これらの Parquet ファイルのスキーマを見てみましょう:
それでは、レビュー数に基づく上位の商品カテゴリを求め、あわせて平均スター評価も計算してみましょう。
プライベートな S3 バケット内のファイルをクエリする
プライベートな S3 バケット内のファイルをクエリする場合は、アクセスキーとシークレットキーを渡す必要があります。
これらの認証情報は s3 テーブル関数に渡せます。
このクエリは、バケットが公開されているため動作しません。
別の方法として、named collectionsを使用することもできますが、この方法はまだ chDB ではサポートされていません。