亚马逊客户评价
这个数据集包含超过1.5亿条亚马逊产品的客户评论。数据存储在AWS S3中的snappy压缩Parquet文件中,总大小为49GB(压缩后)。让我们逐步将其插入到ClickHouse中。
备注
下面的查询是在生产实例的ClickHouse Cloud上执行的。有关更多信息,请参见 "Playground specifications"。
加载数据集
- 在不将数据插入ClickHouse的情况下,我们可以直接查询它。让我们抓取一些行,以便可以查看它们的样子:
这些行的样子如下:
- 让我们定义一个新的
MergeTree
表,命名为amazon_reviews
,以在ClickHouse中存储这些数据:
- 以下
INSERT
命令使用s3Cluster
表函数,该函数允许通过集群中的所有节点并行处理多个S3文件。我们还使用了通配符,以插入任何以https://datasets-documentation.s3.eu-west-3.amazonaws.com/amazon_reviews/amazon_reviews_*.snappy.parquet
开头的文件:
提示
在ClickHouse Cloud中,集群的名称是default
。如果没有集群,请将default
更改为您集群的名称...或者使用s3
表函数(而不是s3Cluster
)。
- 该查询不会花费太长时间 - 平均约每秒300,000行。在大约5分钟内,您应该可以看到所有行已插入:
- 让我们看看我们的数据占用了多少空间:
原始数据大约为70G,但在ClickHouse中压缩后约占30G。
示例查询
- 让我们运行一些查询。以下是数据集中前10条最有帮助的评论:
备注
此查询使用投影来加快性能。
- 以下是亚马逊上评论最多的前10种产品:
- 这是每个产品每月的平均评价评分(一个实际的亚马逊工作面试问题!):
- 以下是每个产品类别的投票总数。该查询执行很快,因为
product_category
在主键中:
- 让我们找出在评论中出现**“awful”**一词最频繁的产品。这是一项巨大的任务 - 超过1.51亿个字符串需要解析以查找一个单词:
注意如此大量数据的查询时间。结果也很有趣!
- 我们可以再次运行相同的查询,只不过这次我们在评论中搜索awesome: