콘텐츠로 건너뛰기
Telemetry
데이터 품질 SQL 레시피

센서 데이터 전달 횟수와 측정 횟수를 따로 세기

가상의 센서 전달 기록 여섯 건을 SQL로 조회합니다. 네트워크 재전송은 측정 횟수를 늘리지 않고 행만 추가해 행 기준 평균을 바꿉니다.

초보자sensor_deliveries검토됨 2026-09-24테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 에 . SQL 문법, 필수 이벤트 필드, 예제 결과, 쿼리 사용 시 제한 사항을 확인했습니다. 이 페이지의 검토 담당자

질문에 답변됨

센서가 여섯 번 측정했을까요, 아니면 네 번의 측정값이 총 여섯 번 전달됐을까요?

한 번의 전달은 수신된 이벤트 한 건입니다. 이 가상 데이터에서 reading_id는 한 번의 실제 측정을 가리킵니다. 질문에 맞는 단위로 건수와 평균을 계산하세요.

이벤트 스키마

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
reading_idUtf8가상의 실제 측정을 구분하는 ID입니다.
measured_secondInt64실습 시작 후 센서가 측정한 시각(초)입니다.
delivered_secondInt64실습 시작 후 네트워크 메시지가 도착한 시각(초)입니다.
co2_ppmInt64가상의 CO₂ 측정값(ppm)이며 건강 평가에 사용할 수 없습니다.
DataFusion SQL

쿼리 복사

sql
WITH per_reading AS (
  SELECT reading_id, MIN(co2_ppm) AS co2_ppm
  FROM sensor_deliveries
  GROUP BY reading_id
),
delivery_summary AS (
  SELECT COUNT(*) AS deliveries, AVG(co2_ppm) AS delivered_mean_ppm
  FROM sensor_deliveries
),
measurement_summary AS (
  SELECT COUNT(*) AS measurements, AVG(co2_ppm) AS measurement_mean_ppm
  FROM per_reading
)
SELECT deliveries, measurements, delivered_mean_ppm, measurement_mean_ppm
FROM delivery_summary CROSS JOIN measurement_summary;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

집계 단위 두 가지, 평균도 두 가지

여섯 번의 전달은 네 번의 측정을 나타냅니다. 두 평균은 같은 가상 수치를 사용하지만 서로 다른 질문에 답합니다.

deliveriesmeasurementsdelivered_mean_ppmmeasurement_mean_ppm
64700675

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Two grains, two averages: Count sensor deliveries and measurements separately 예제 결과의 합성 measurement_mean_ppm 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

샘플 데이터 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1첫 번째 CTE는 reading_id별로 전달 기록을 묶으므로 r4의 재전송을 새 측정으로 세지 않습니다.
  2. 2전달된 행의 평균은 700 ppm이고 네 번의 측정값 평균은 675 ppm입니다. 어느 쪽도 반드시 교실 공기의 시간 가중 평균은 아닙니다.
  3. 3여기서 MIN을 쓸 수 있는 것은 같은 reading_id의 가상 기록이 모두 동일한 co2_ppm을 갖기 때문입니다. 실제 데이터의 중복을 제거하기 전에 값 충돌을 확인하세요.

확인할 경계 사례

  • 서로 다른 두 번의 측정이 같은 CO₂ 수치를 가질 수 있습니다. AVG(DISTINCT co2_ppm)은 이를 잘못 합칩니다.
  • 실제 읽기 ID는 장치 사이에서 충돌하거나 재부팅 후 다시 쓰일 수 있습니다. 실제 이벤트를 묶기 전에 측정값 식별 규칙을 정하세요.
  • 이 가상 CO₂ 수치로 환기나 건강 관련 결정을 내릴 수 없습니다. 실제로 사용하려면 보정, 설치 위치, 빠진 측정값과 시간 범위를 확인해야 합니다.

추천 대시보드

  • 표: 선택한 실습의 전달 횟수, 측정 횟수, 두 평균

알림 안내

이 가상 교육 데이터는 실제 CO₂ 경보에 사용할 수 없습니다.

알림 설정 읽기

이 쿼리에 필요한 이벤트 설정하기

관련 계측 및 가이드

분석 계속하기

내 이벤트로 실행하기

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기