环境传感器数据
Sensor.Community 是一个由社区贡献者驱动的全球传感器网络,用于创建开放环境数据(Open Environmental Data)。数据由分布在全球各地的传感器采集。任何人都可以购买传感器并将其放置在任意位置。用于下载数据的 API 位于 GitHub,数据可依据 Database Contents License (DbCL) 免费获取。
参考资料
该数据集包含超过 200 亿条记录,因此除非你的资源可以处理这种规模的数据量,否则在直接复制粘贴下面的命令时要格外小心。下面的命令是在一套 生产 环境的 ClickHouse Cloud 实例上执行的。
- 数据存放在 S3 中,因此我们可以使用
s3表函数从文件创建一张表。我们也可以对这些数据进行就地查询。在尝试将其写入 ClickHouse 之前,先查看其中的几行数据:
数据存储在 CSV 文件中,但使用分号作为分隔符。行的格式如下:
- 我们将使用以下
MergeTree表在 ClickHouse 中存储数据:
- ClickHouse Cloud 服务中有一个名为
default的集群。我们将使用s3Cluster表函数,它会从集群中的各个节点并行读取 S3 文件。(如果你没有集群,只需使用s3函数并删除集群名称。)
此查询将运行一段时间——未压缩的数据量约为 1.67T:
下面是响应结果——显示了行数和处理速度。其写入速率超过每秒 600 万行!
- 来看看
sensors表需要多少磁盘存储空间:
1.67T 已压缩至 310GiB,共 206.9 亿行:
- 现在数据已经写入 ClickHouse,让我们来分析一下。请注意,随着部署的传感器数量不断增加,数据量会随时间增长:
我们可以在 SQL 控制台中创建一个图表,以可视化结果:

- 该查询用于统计过于炎热且潮湿的天数:
以下是结果的可视化:
