OUTLIER_ZSCORE_COUNT

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

컬럼에서 Z-score가 3을 초과하는 NULL이 아니고 NaN이 아닌 값들의 개수를 돌려주는 데이터 메트릭 함수(DMF)예요. 이상치(outlier)를 개수로 감지하고 싶을 때 써요.

출처: 공식 문서

본문

Enterprise Edition 기능

Data Quality Monitoring은 Enterprise Edition이 필요합니다. 업그레이드 문의는 Snowflake Support에 연락하세요.

컬럼에서 Z-score가 3을 초과하는 NULL이 아니고 NaN이 아닌 값들의 개수를 반환합니다.

이 주제는 함수를 직접 호출하는 구문을 제공합니다. 테이블이나 뷰에 함수를 연결해 정기적으로 실행되게 하는 방법은 DMF 연결을 참고하세요.

구문 (Syntax)

SNOWFLAKE.CORE.OUTLIER_ZSCORE_COUNT(<query>)

인자 (Arguments)

query

단일 컬럼을 투영하는 SQL 쿼리를 지정합니다.

허용되는 데이터 타입 (Allowed data types)

query가 투영하는 컬럼은 다음 데이터 타입 중 하나여야 합니다:

  • FLOAT
  • NUMBER

반환값 (Returns)

NUMBER 데이터 타입의 스칼라 값을 반환합니다.

사용 참고 (Usage notes)

  • 시스템 DMF를 수동으로 호출할 때는 사용 중인 허용 데이터 타입을 지정할 필요가 없습니다. 측정하려는 컬럼에 대한 쿼리만 지정하면 됩니다. Snowflake가 함수의 허용 데이터 타입을 컬럼의 데이터 타입과 일치시킵니다.
  • 함수는 NULL이 아니고 NaN이 아닌 값들의 평균과 표준편차를 계산한 다음, 평균과의 절대 차이가 표준편차의 3배를 초과하는(Z-score가 3보다 큰) 값들을 셉니다.
  • 컬럼의 NULL이 아니고 NaN이 아닌 값이 100개 미만이거나, 평균이나 표준편차가 유한하지 않거나, 표준편차가 0이면 함수는 0을 반환합니다.
  • 이 함수는 대략 최대 100억 행의 테이블에 최적화되어 있습니다. 그 범위를 넘으면 평가 지연 시간이 늘어나고, 메트릭이 DMF 일정 창 안에 완료되지 않을 수 있습니다.
  • 이 함수의 평가는 컬럼을 스캔하고 그 위에서 평균과 표준편차를 계산하므로, 소비되는 서버리스 컴퓨트(따라서 비용)가 테이블 크기에 비례해 확장됩니다. DMF 평가가 어떻게 과금되는지는 비용 고려 사항을 참고하세요.

예제 (Example)

IoT 테이블의 sensor_reading 컬럼에 대한 이상치 값의 개수를 측정합니다:

SELECT SNOWFLAKE.CORE.OUTLIER_ZSCORE_COUNT(
  SELECT
    sensor_reading
  FROM iot.public.readings
);
+-------------------------------------------------------------------------------------+
| SNOWFLAKE.CORE.OUTLIER_ZSCORE_COUNT(SELECT sensor_reading FROM iot.public.readings) |
+-------------------------------------------------------------------------------------+
| 57                                                                                  |
+-------------------------------------------------------------------------------------+

더 알아보기 (Learn more)