SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS
SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS (데이터 품질 기대치 평가)
데이터 메트릭 함수(DMF)와 테이블 사이의 연결에 대한 기대치를 반환하며, 기대치가 현재 위반되었는지 여부를 포함해요.
Enterprise Edition 기능
데이터 품질 모니터링에는 Enterprise Edition이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 연락해주세요.
출처: Snowflake SQL Reference - SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS
본문
구문
SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS(
REF_ENTITY_NAME => '<object>'
[, SKIP_SUSPENDED_DMF => { TRUE | FALSE } ]
)
인자
REF_ENTITY_NAME => '
하나 이상의 기대치를 가진 DMF가 적어도 하나 있는 테이블 또는 뷰의 이름이에요. 완전히 한정되어야 해요.
SKIP_SUSPENDED_DMF => { TRUE | FALSE }
TRUE로 설정하면 함수는 객체와 일시 중단된(suspended) DMF 사이의 연결에 대해 정의된 기대치를 반환하지 않아요. 일시 중단된 DMF는 객체의 지정된 일정에 실행되지 않아요.
기본값: TRUE
반환 값
다음 열이 있는 테이블을 반환해요:
| metric_database | VARCHAR | DMF를 포함하는 데이터베이스의 이름. |
| metric_schema | VARCHAR | DMF를 포함하는 스키마의 이름. |
| metric_name | VARCHAR | DMF의 이름. |
| expectation_name | VARCHAR | 사용자가 DMF와 테이블 사이의 연결에 기대치를 추가할 때 지정한 이름. |
| expectation_id | NUMBER | 시스템 생성 식별자. |
| expectation_expression | VARCHAR | 기대치의 Boolean 표현식. Defining what meets the expectation 참고. |
| arguments | ARRAY | DMF가 연결된 열. |
| value | VARIANT | DMF 평가의 결과. |
| expectation_violated | BOOLEAN | TRUE면 기대치가 위반됨. expectation_expression이 FALSE로 평가되면 기대치는 위반됨. |
| group_by_values | VARIANT | WITHIN GROUP 절로 만든 연결에 정의된 기대치의 경우, 이 행이 해당하는 그룹을 식별하는 JSON 객체. 각 키는 그룹화 열 이름이고 각 값은 그 그룹에 대한 그 열의 값(예: {"REGION": "US", "COUNTRY": "CA"}). 그룹화되지 않은 연결의 경우 NULL. 자세한 내용은 Apply data quality checks by group 참고. |
접근 제어 권한
이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 가져야 해요:
| SELECT | Table or view | |
| USAGE | Data metric function (DMF) |
스키마의 객체를 운영하려면 부모 데이터베이스에 대한 권한이 적어도 하나, 부모 스키마에 대한 권한이 적어도 하나 필요해요.
지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 Creating custom roles을 참고해요.
보안 객체에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반 정보는 Overview of Access Control을 참고해요.
예시
DMF와 테이블 t1 사이의 연결에 대한 기대치를 반환해요. DMF는 기대치가 현재 위반되었는지 결정하기 위해 실행돼요.
SELECT *
FROM TABLE(SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS(
REF_ENTITY_NAME => 'my_db.sch.t1'));
참조
WITHIN GROUP 절로 만든 연결에 정의된 기대치의 경우, 이 함수는 모든 그룹을 평가하고 고유한 그룹마다 한 행을 반환하며, 각 그룹은 group_by_values 출력 열에서 식별돼요. 특정 그룹 값에 대한 기저 행을 검색하려면 WITHIN_GROUP_VALUES 인자를 받는 SYSTEM$DATA_METRIC_SCAN을 사용해요. 자세한 내용은 Apply data quality checks by group을 참고해요.
기대치를 평가하고 결과를 SNOWFLAKE.LOCAL.DATA_QUALITY_MONITORING_RESULTS_RAW 이벤트 테이블에 저장해 데이터 품질 이력에 나타내려면 SYSTEM$EVALUATE_DATA_QUALITY_EXPECTATIONS_PERSIST_RESULT를 사용해요.
더 알아보기
- System functions — 시스템 함수 모음
- SYSTEM$DATA_METRIC_SCAN — 데이터 메트릭 스캔