이벤트 스키마
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| reading_id | Utf8 | 가상의 실제 측정을 구분하는 ID입니다. |
| measured_second | Int64 | 실습 시작 후 센서가 측정한 시각(초)입니다. |
| delivered_second | Int64 | 실습 시작 후 네트워크 메시지가 도착한 시각(초)입니다. |
| co2_ppm | Int64 | 가상의 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. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
집계 단위 두 가지, 평균도 두 가지
여섯 번의 전달은 네 번의 측정을 나타냅니다. 두 평균은 같은 가상 수치를 사용하지만 서로 다른 질문에 답합니다.
| deliveries | measurements | delivered_mean_ppm | measurement_mean_ppm |
|---|---|---|---|
| 6 | 4 | 700 | 675 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
SQL 작동 방식
- 1첫 번째 CTE는 reading_id별로 전달 기록을 묶으므로 r4의 재전송을 새 측정으로 세지 않습니다.
- 2전달된 행의 평균은 700 ppm이고 네 번의 측정값 평균은 675 ppm입니다. 어느 쪽도 반드시 교실 공기의 시간 가중 평균은 아닙니다.
- 3여기서 MIN을 쓸 수 있는 것은 같은 reading_id의 가상 기록이 모두 동일한 co2_ppm을 갖기 때문입니다. 실제 데이터의 중복을 제거하기 전에 값 충돌을 확인하세요.
확인할 경계 사례
- 서로 다른 두 번의 측정이 같은 CO₂ 수치를 가질 수 있습니다. AVG(DISTINCT co2_ppm)은 이를 잘못 합칩니다.
- 실제 읽기 ID는 장치 사이에서 충돌하거나 재부팅 후 다시 쓰일 수 있습니다. 실제 이벤트를 묶기 전에 측정값 식별 규칙을 정하세요.
- 이 가상 CO₂ 수치로 환기나 건강 관련 결정을 내릴 수 없습니다. 실제로 사용하려면 보정, 설치 위치, 빠진 측정값과 시간 범위를 확인해야 합니다.
추천 대시보드
- 표: 선택한 실습의 전달 횟수, 측정 횟수, 두 평균
이 쿼리에 필요한 이벤트 설정하기
관련 계측 및 가이드
분석 계속하기
내 이벤트로 실행하기
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.