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

环境传感器数据

Sensor.Community 是一个由贡献者驱动的全球传感器网络,创建开放环境数据。这些数据来自全球各地的传感器。任何人都可以购买传感器并将其放置在任何他们喜欢的地方。下载数据的 API 在 GitHub 上,并且数据在 数据库内容许可证 (DbCL) 下可免费获取。

信息

该数据集包含超过 200 亿条记录,因此在复制和粘贴下面的命令之前,请务必确保您的资源能够处理这类数据量。以下命令是在 ClickHouse Cloud生产 实例上执行的。

  1. 数据存储在 S3 中,因此我们可以使用 s3 表函数从文件中创建表。我们也可以原地查询数据。在尝试将其插入 ClickHouse 之前,让我们先查看几行:

数据以 CSV 文件的形式存在,但使用分号作为分隔符。行看起来像:

  1. 我们将使用以下 MergeTree 表在 ClickHouse 中存储数据:
  1. ClickHouse Cloud 服务有一个名为 default 的集群。我们将使用 s3Cluster 表函数,它从集群中的节点并行读取 S3 文件。(如果您没有集群,只需使用 s3 函数并去掉集群名称。)

此查询将需要一段时间 - 解压后的数据大约是 1.67T:

这是响应 - 显示行数和处理速度。以超过 600 万行每秒的速度进行输入!

  1. 现在让我们来看看 sensors 表需要多少存储空间:

1.67T 的数据压缩后为 310 GiB,共有 20.69 亿行:

  1. 数据进入 ClickHouse 后让我们分析一下。注意,随着更多传感器的部署,数据数量不断增加:

我们可以在 SQL 控制台中创建图表来可视化结果:

每日事件数量

  1. 此查询计算过于炎热和潮湿的天数:

这是结果的可视化:

炎热和潮湿的天