Перейти к основному содержимому
Перейти к основному содержимому

Данные экологических датчиков

Sensor.Community — это глобальная сеть датчиков, управляемая участниками, которая создает открытые экологические данные. Данные собираются с датчиков по всему миру. Каждый может купить датчик и установить его в любом месте. API для загрузки данных находится на GitHub, и данные доступны бесплатно по лицензии Database Contents License (DbCL).

к сведению

Набор данных содержит более 20 миллиардов записей, поэтому будьте осторожны при копировании и вставке команд ниже, если ваши ресурсы не могут обрабатывать такой объем. Команды ниже были выполнены на Production экземпляре ClickHouse Cloud.

  1. Данные находятся в S3, поэтому мы можем использовать функцию таблицы s3 для создания таблицы из файлов. Мы также можем выполнять запросы к данным на месте. Давайте посмотрим несколько строк перед попыткой вставить их в ClickHouse:

Данные находятся в CSV-файлах, но используют точки с запятой в качестве разделителя. Строки выглядят следующим образом:

  1. Мы будем использовать следующую таблицу MergeTree, чтобы сохранить данные в ClickHouse:
  1. У ClickHouse Cloud есть кластер с именем default. Мы будем использовать функцию таблицы s3Cluster, которая считывает файлы S3 параллельно с узлов вашего кластера. (Если у вас нет кластера, просто используйте функцию s3 и уберите имя кластера.)

Этот запрос займет некоторое время - это около 1.67T данных в не сжатом виде:

Вот ответ - который показывает количество строк и скорость обработки. Вход происходит со скоростью более 6 миллионов строк в секунду!

  1. Давайте посмотрим, сколько места на диске требуется для таблицы sensors:

1.67T сжато до 310 GiB, и есть 20.69 миллиардов строк:

  1. Давайте проанализируем данные, теперь когда они в ClickHouse. Обратите внимание, что количество данных увеличивается со временем, по мере развертывания новых датчиков:

Мы можем создать график в SQL Console, чтобы визуализировать результаты:

Количество событий в день

  1. Этот запрос считает количество очень жарких и влажных дней:

Вот визуализация результата:

Жаркие и влажные дни