以下查询是在 ClickHouse Cloud 的 Production 实例上执行的。更多信息请参见
“Playground 规范”。
加载数据集
- 无需将数据插入 ClickHouse,我们就可以直接在原处查询。先取几行数据,看看它们的样子:
- 定义一个名为
amazon_reviews的新MergeTree表,用于在 ClickHouse 中存储这些数据:
- 以下
INSERT命令使用了s3Clustertable function,可利用集群中的所有节点并行处理多个 S3 文件。我们还使用了通配符,以插入所有以https://datasets-documentation.s3.eu-west-3.amazonaws.com/amazon_reviews/amazon_reviews_*.snappy.parquet开头的文件:
- 该查询耗时不长,平均每秒约处理 300,000 行。大约 5 分钟后,你应该就能看到所有行都已插入:
- 我们来看看数据占用了多少空间:
示例查询
- 我们来运行一些查询。以下是数据集中最有帮助的 10 条评论:
该查询使用了 projection 来提升性能。
- 以下是 亚马逊 上评论数量最多的 10 个产品:
- 以下是每个产品每月的平均评论评分 (这其实是一道 亚马逊 面试题!) :
- 以下是各产品类别的总票数。该查询很快,因为
product_category在主键中:
- 我们来找出评论中 “awful” 一词出现频率最高的产品。这是一项很重的任务——需要解析超过 1.51 亿个字符串来查找这一个词:
runnable
- 我们可以再次运行相同的查询,不过这次是在评论中搜索 awesome:
runnable