이벤트 계약
쿼리가 예상하는 필드
| 필드 | 유형 | 그것이 존재하는 이유 |
|---|---|---|
| timestamp_utc | Timestamp | 이벤트 수신 시간. |
| event_name | Utf8 | 안정적인 논리적 이벤트 이름입니다. |
| schema_version | Utf8 | v2와 같은 명시적 계약 버전. |
| producer_version | Utf8 | 애플리케이션 빌드 또는 작업자 릴리스. |
DataFusion SQL
쿼리 복사
sql
WITH version_counts AS (
SELECT
event_name,
producer_version,
schema_version,
COUNT(*) AS events
FROM product_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY event_name, producer_version, schema_version
),
producer_totals AS (
SELECT
event_name,
producer_version,
SUM(events) AS producer_events
FROM version_counts
GROUP BY event_name, producer_version
)
SELECT
counts.event_name,
counts.producer_version,
counts.schema_version,
counts.events,
100.0 * counts.events / NULLIF(totals.producer_events, 0)
AS version_share_pct
FROM version_counts AS counts
JOIN producer_totals AS totals
ON totals.event_name = counts.event_name
AND totals.producer_version = counts.producer_version
ORDER BY counts.event_name, counts.producer_version, counts.events DESC;이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.
쿼리 결과
프로듀서별 스키마 버전 공유
웹 배포는 v2로 수렴되었지만 작업자 릴리스는 여전히 상당한 v1 공유를 내보냅니다.
web-1848
99.72%
worker-411
38.11%
| event_name | producer_version | schema_version | events | version_share_pct |
|---|---|---|---|---|
| checkout_completed | web-1848 | v2 | 9,840 | 99.72 |
| checkout_completed | worker-411 | v1 | 742 | 38.11 |
합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.
예제 재현
공공 픽스처 다운로드
JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.
SQL 작동 방식
- 1첫 번째 CTE는 관찰된 모든 이벤트 계약을 프로듀서 및 스키마 버전별로 계산합니다.
- 2프로듀서 총계는 대량 출시와 소량 출시를 공정하게 비교하는 데 필요한 분모를 만듭니다.
- 3출력에 두 버전을 모두 유지하면 최신 버전만 보고하는 대신 혼합 출시가 표시됩니다.
결정해야 할 극단적인 경우
- 버전이 지정되지 않은 기록 이벤트에는 자동 NULL이 아닌 명시적인 레거시 레이블이 필요합니다.
- 모바일 및 데스크톱 클라이언트는 서버 릴리스보다 롤아웃 기간이 훨씬 길 수 있습니다.
- 버전 라벨은 의미적 변경 사항이 함께 문서화되어 있는 경우에만 유용합니다.
추천 대시보드
- 바: version_share_pct by producer_version
- 추세: 배포 시간에 따른 레거시 버전 공유
- 표: 둘 이상의 활성 버전이 있는 이벤트 이름
레시피를 활용해 보세요
관련 계측 및 가이드
분석 계속하기
실제 이벤트에서 실행
테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.
무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.