OUTLIER_ZSCORE_PERCENT

OUTLIER_ZSCORE_PERCENT (시스템 데이터 메트릭 함수)

Enterprise Edition 기능. 데이터 품질 모니터링에는 Enterprise Edition이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 문의해요.

컬럼 값 중 Z-score가 3을 초과하는 값의 백분율을 반환해요.

이 주제는 함수를 직접 호출하는 구문을 제공해요. 함수를 테이블이나 뷰와 연결해 정기적으로 실행하는 방법을 배우려면 Associate a DMF를 참고해요.

출처: Snowflake SQL Reference - OUTLIER_ZSCORE_PERCENT (시스템 데이터 메트릭 함수)

본문

구문

SNOWFLAKE.CORE.OUTLIER_ZSCORE_PERCENT(<query>)

인자

단일 컬럼을 프로젝션하는 SQL 쿼리를 지정해요.

허용되는 데이터 타입

쿼리가 프로젝션하는 컬럼은 다음 데이터 타입 중 하나여야 해요.

  • FLOAT
  • NUMBER

반환 값

함수는 FLOAT 데이터 타입의 스칼라 값을 반환해요.

사용상 주의사항

  • 시스템 DMF를 수동으로 호출할 때는 사용 중인 허용 데이터 타입을 지정할 필요가 없어요. 측정하려는 컬럼의 쿼리만 지정하면 돼요. Snowflake는 함수의 허용 데이터 타입을 컬럼의 데이터 타입과 일치시켜요.
  • 함수는 NULL이 아니고 NaN이 아닌 값의 평균과 표준 편차를 계산한 다음, 평균과의 절대 차이가 표준 편차의 3배를 초과하는(Z-score가 3보다 큰) 값의 백분율을 측정해요.
  • 백분율의 분모에는 프로젝션된 컬럼이 NULL이거나 NaN인 행을 포함한 테이블의 모든 행이 포함돼요.
  • 함수는 컬럼에 NULL이 아니고 NaN이 아닌 값이 100개 미만이거나, 평균 또는 표준 편차가 유한하지 않거나, 표준 편차가 0이면 0을 반환해요.
  • 이 함수는 최대 약 100억 행의 테이블에 최적화되어 있어요. 그 범위를 넘어서면 평가 지연 시간이 늘어나고, 메트릭이 DMF 스케줄링 윈도우 내에 완료되지 않을 수 있어요.
  • 이 함수를 평가하는 것은 컬럼을 스캔하고 그에 대한 평균과 표준 편차를 계산하므로, 소비되는 서버리스 컴퓨팅(따라서 비용)은 테이블 크기에 비례해요. DMF 평가가 어떻게 청구되는지에 대한 자세한 내용은 Cost considerations를 참고해요.

예시

IoT 테이블의 sensor_reading 컬럼에 대한 이상값(outlier) 값의 백분율을 측정해요.

SELECT SNOWFLAKE.CORE.OUTLIER_ZSCORE_PERCENT(
  SELECT
    sensor_reading
  FROM iot.public.readings
);

+---------------------------------------------------------------------------------------+
| SNOWFLAKE.CORE.OUTLIER_ZSCORE_PERCENT(SELECT sensor_reading FROM iot.public.readings) |
+---------------------------------------------------------------------------------------+
| 0.11                                                                                  |
+---------------------------------------------------------------------------------------+

더 알아보기