Amazon Customer Review
This dataset contains over 150M customer reviews of Amazon products. The data is in snappy-compressed Parquet files in AWS S3 that total 49GB in size (compressed). Let's walk through the steps to insert it into ClickHouse.
注記
The queries below were executed on a Production instance of ClickHouse Cloud. For more information see "Playground specifications".
データセットの読み込み
- ClickHouseにデータを挿入せずに、その場でクエリを実行できます。いくつかの行を取得して、どのようなものか見てみましょう:
行は次のようになります:
- データをClickHouseに保存するために、新しい
MergeTree
テーブルamazon_reviews
を定義しましょう:
- 次の
INSERT
コマンドは、s3Cluster
テーブル関数を使用しており、これによりクラスタのすべてのノードを使用して複数のS3ファイルを同時に処理できます。また、https://datasets-documentation.s3.eu-west-3.amazonaws.com/amazon_reviews/amazon_reviews_*.snappy.parquet
という名前で始まるファイルを挿入するためにワイルドカードも使用しています:
ヒント
ClickHouse Cloudでは、クラスタの名前は default
です。 default
をあなたのクラスタ名に変更するか、クラスタがない場合は s3Cluster
の代わりに s3
テーブル関数を使用してください。
- このクエリは時間がかからず、平均して毎秒約300,000行の速度で処理されます。5分ほどの間にすべての行が挿入されるはずです:
- データがどれだけのスペースを使用しているか見てみましょう:
元のデータは約70Gでしたが、ClickHouseでは約30Gのサイズを占めました。
例のクエリ
- いくつかのクエリを実行してみましょう。データセット内で最も役立つレビューのトップ10はこちらです:
注記
このクエリは、パフォーマンスを向上させるために プロジェクション を使用しています。
- Amazonでレビューが最も多いトップ10製品はこちらです:
- 各製品の月ごとの平均レビュー評価を示します(実際の Amazonの就職面接質問!):
- 各製品カテゴリごとの投票総数を示します。このクエリは、
product_category
が主キーに含まれているため高速です:
- レビュー内で最も頻繁に**"awful"**という単語が出現する製品を探します。これは大きな作業です - 1.51億以上の文字列を解析して単語を探す必要があります:
このような大量のデータに対するクエリ時間に注目してください。結果も読むのが楽しいです!
- 同じクエリを再度実行できますが、今回はレビュー内でawesomeを検索します: