跳到主要内容
跳到主要内容

亚马逊客户评价

这个数据集包含超过1.5亿条亚马逊产品的客户评论。数据存储在AWS S3中的snappy压缩Parquet文件中,总大小为49GB(压缩后)。让我们逐步将其插入到ClickHouse中。

备注

下面的查询是在生产实例的ClickHouse Cloud上执行的。有关更多信息,请参见 "Playground specifications"

加载数据集

  1. 在不将数据插入ClickHouse的情况下,我们可以直接查询它。让我们抓取一些行,以便可以查看它们的样子:

这些行的样子如下:

  1. 让我们定义一个新的MergeTree表,命名为amazon_reviews,以在ClickHouse中存储这些数据:
  1. 以下INSERT命令使用s3Cluster表函数,该函数允许通过集群中的所有节点并行处理多个S3文件。我们还使用了通配符,以插入任何以https://datasets-documentation.s3.eu-west-3.amazonaws.com/amazon_reviews/amazon_reviews_*.snappy.parquet开头的文件:
提示

在ClickHouse Cloud中,集群的名称是default。如果没有集群,请将default更改为您集群的名称...或者使用s3表函数(而不是s3Cluster)。

  1. 该查询不会花费太长时间 - 平均约每秒300,000行。在大约5分钟内,您应该可以看到所有行已插入:
  1. 让我们看看我们的数据占用了多少空间:

原始数据大约为70G,但在ClickHouse中压缩后约占30G。

示例查询

  1. 让我们运行一些查询。以下是数据集中前10条最有帮助的评论:
备注

此查询使用投影来加快性能。

  1. 以下是亚马逊上评论最多的前10种产品:
  1. 这是每个产品每月的平均评价评分(一个实际的亚马逊工作面试问题!):
  1. 以下是每个产品类别的投票总数。该查询执行很快,因为product_category在主键中:
  1. 让我们找出在评论中出现**“awful”**一词最频繁的产品。这是一项巨大的任务 - 超过1.51亿个字符串需要解析以查找一个单词:

注意如此大量数据的查询时间。结果也很有趣!

  1. 我们可以再次运行相同的查询,只不过这次我们在评论中搜索awesome