메인 콘텐츠로 건너뛰기
Sensor.Community는 공개 환경 데이터(Open Environmental Data)를 생성하는, 커뮤니티 참여자들이 주도하는 글로벌 센서 네트워크입니다. 데이터는 전 세계 센서에서 수집됩니다. 누구나 센서를 구매해 원하는 곳에 설치할 수 있습니다. 데이터를 다운로드하기 위한 API는 GitHub에 있으며, 데이터는 Database Contents License (DbCL)에 따라 자유롭게 사용할 수 있습니다.
이 데이터셋에는 200억 개가 넘는 레코드가 있으므로, 리소스가 이 정도 규모를 처리할 수 없다면 아래 명령을 그대로 복사해 붙여 넣지 않도록 주의하십시오. 아래 명령은 ClickHouse CloudProduction 인스턴스에서 실행되었습니다.
  1. 데이터는 S3에 있으므로 s3 테이블 함수를 사용해 파일에서 테이블을 생성할 수 있습니다. 원본 위치에서 바로 쿼리할 수도 있습니다. ClickHouse에 삽입하기 전에 몇 개의 행을 먼저 살펴보겠습니다:
데이터는 CSV 파일에 저장되어 있지만 구분자로 세미콜론을 사용합니다. 행은 다음과 같습니다:
  1. ClickHouse에 데이터를 저장하기 위해 다음 MergeTree 테이블을 사용합니다:
  1. ClickHouse Cloud 서비스에는 default라는 클러스터가 있습니다. 클러스터의 노드에서 S3 파일을 병렬로 읽는 s3Cluster 테이블 함수를 사용하겠습니다. (클러스터가 없으면 s3 함수를 사용하고 클러스터 이름을 제거하십시오.)
이 쿼리는 시간이 다소 걸릴 수 있습니다. 비압축(uncompressed) 데이터 기준으로 약 1.67T입니다:
다음은 응답 결과입니다. 행(row) 수와 처리 속도를 확인할 수 있습니다. 초당 600만 행 이상의 속도로 입력되고 있습니다!
  1. sensors 테이블(table)에 필요한 디스크 저장 공간이 얼마나 되는지 살펴보겠습니다:
1.67T는 310 GiB로 압축되었으며, 총 206억 9,000만 행이 있습니다:
  1. 이제 데이터가 ClickHouse에 있으므로 분석해 보겠습니다. 더 많은 센서가 배포됨에 따라 시간이 지날수록 데이터 양이 증가하는 것을 확인할 수 있습니다:
SQL 콘솔에서 차트를 생성해 결과를 시각화할 수 있습니다:
  1. 이 쿼리는 매우 덥고 습한 날의 수를 계산합니다:
결과를 시각화하면 다음과 같습니다:
마지막 수정일 2026년 6월 29일