이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 이벤트 발생 시간. |
| event_name | Utf8 | 안정적인 이벤트 계약 이름입니다. |
| account_id | Utf8 | 이러한 이벤트에는 계정 식별자가 필요합니다. |
| producer_version | Utf8 | 이벤트를 내보낸 애플리케이션 버전입니다. |
DataFusion SQL
쿼리 복사
sql
SELECT
event_name,
producer_version,
COUNT(*) AS events,
SUM(CASE
WHEN account_id IS NULL OR trim(account_id) = '' THEN 1
ELSE 0
END) AS missing_account_id,
100.0 * SUM(CASE
WHEN account_id IS NULL OR trim(account_id) = '' THEN 1
ELSE 0
END) / NULLIF(COUNT(*), 0) AS missing_rate_pct
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY event_name, producer_version
HAVING COUNT(*) >= 20
ORDER BY missing_rate_pct DESC, events DESC;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
이벤트 및 프로듀서별 계정 ID 누락 비율
대시보드 이벤트에는 버전별 완전성 회귀가 있습니다.
dashboard_viewed
18.49%
query_completed
0.18%
| event_name | producer_version | events | missing_account_id | missing_rate_pct |
|---|---|---|---|---|
| dashboard_viewed | web-1842 | 6,420 | 1,187 | 18.49 |
| query_completed | api-918 | 3,810 | 7 | 0.18 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1CASE 표현식은 NULL과 빈 문자열을 모두 누락된 것으로 처리합니다.
- 2producer_version로 그룹화하면 배포 회귀를 더 쉽게 격리할 수 있습니다.
- 3최소 볼륨 규칙은 소수의 개발 이벤트가 보고서를 지배하는 것을 방지합니다.
결정해야 할 극단적인 경우
- 꼭 필요한 이벤트 계약의 필드만 평가하세요.
- 익명 제품 이벤트에는 합법적으로 account_id가 부족할 수 있으며 별도의 완전성 규칙을 사용해야 합니다.
- 알 수 없음과 같은 자리 표시자는 NULL이 아니지만 여전히 누락된 ID를 숨길 수 있습니다. 센티널 값을 별도로 측정합니다.
추천 대시보드
- 바: missing_rate_pct by event_name 및 producer_version
- 추세: 중요 계약의 완료율
- 표: 필수 필드가 누락된 최근 행
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.