跳转到主要内容
Sensor.Community 是一个由贡献者推动的全球传感器网络,致力于创建开放环境数据。这些数据由全球各地的传感器采集。任何人都可以购买传感器,并将其放置在任何位置。下载这些数据所需的 API 可在 GitHub 上获取,数据依据 Database Contents License (DbCL) 免费开放。
该数据集包含超过 200 亿条记录,因此,除非您的资源足以处理这种规模的数据量,否则请谨慎直接复制粘贴下面的命令。下面的命令是在 ClickHouse CloudProduction 实例上执行的。
  1. 数据位于 S3 中,因此我们可以使用 s3 表函数根据这些文件创建一张表。我们也可以直接查询这些数据。在尝试将其插入 ClickHouse 之前,先看几行数据:
数据存储在 CSV 文件中,但分隔符使用的是分号。各行内容如下所示:
  1. 我们将使用以下 MergeTree 表在 ClickHouse 中存储数据:
  1. ClickHouse Cloud 服务中有一个名为 default 的集群。我们将使用 s3Cluster 表函数,它会由集群中的各个节点并行读取 S3 文件。 (如果你没有集群,只需使用 s3 函数并去掉集群名称。)
此查询需要一些时间——未压缩数据量约为 1.67T:
以下是响应结果——显示了行数和处理速度。写入速率超过每秒 600 万行!
  1. 我们来看看 sensors 表需要多少磁盘存储空间:
1.67T 的数据压缩至 310 GiB,共有 206.9 亿行:
  1. 现在数据已经进入 ClickHouse,让我们来分析一下。请注意,随着部署的传感器越来越多,数据量也会随时间不断增长:
我们可以在 SQL 控制台中创建图表,以直观呈现结果:
  1. 此查询用于统计炎热且湿度过高的天数:
以下是结果的可视化展示:
最后修改于 2026年6月12日