メインコンテンツまでスキップ
メインコンテンツまでスキップ

環境センサーデータ

Sensor.Communityは、貢献者駆動のグローバルセンサーネットワークで、オープンな環境データを作成します。データは、世界中のセンサーから収集されます。誰でもセンサーを購入して、好きな場所に設置できます。データをダウンロードするためのAPIはGitHubにあり、データはDatabase Contents License (DbCL)の下で自由に利用できます。

参考

データセットには200億以上のレコードが含まれているため、リソースがそのようなボリュームに対応できない限り、コマンドを単純にコピーして貼り付けないように注意してください。以下のコマンドは、ClickHouse CloudProductionインスタンスで実行されました。

  1. データはS3にあるため、s3テーブル関数を使用してファイルからテーブルを作成できます。また、データをそのままでクエリすることも可能です。ClickHouseに挿入する前にいくつかの行を見てみましょう:

データはCSVファイル形式ですが、区切り文字としてセミコロンが使用されています。行は次のようになります:

  1. 次に、ClickHouseにデータを格納するためのMergeTreeテーブルを使用します:
  1. ClickHouse Cloudサービスには、defaultという名前のクラスタがあります。s3Clusterテーブル関数を使用すると、クラスタ内のノードからS3ファイルを並行して読み取ることができます。(クラスタを持っていない場合は、s3関数を使用してクラスタ名を削除してください。)

このクエリはしばらく時間がかかります。圧縮されていないデータは約1.67Tです:

ここに返信があります - 行数と処理速度を示します。入力速度は1秒間に600万行以上です!

  1. sensorsテーブルに必要なストレージディスクのサイズを確認しましょう:

1.67Tは310 GiBに圧縮され、206.9億行があります:

  1. 今、ClickHouseにデータが入ったので、データを分析してみましょう。新しいセンサーが展開されるにつれてデータの量が時間とともに増加することに注意してください:

SQLコンソールで結果を視覚化するためのチャートを作成できます:

1日あたりのイベント数

  1. このクエリは、非常に暑くて湿度の高い日の数をカウントします:

結果の視覚化は次のとおりです:

暑くて湿度の高い日