자동 데이터 품질 개요

Knowledge Catalog (이전 명칭: Dataplex Universal Catalog)를 사용하면 BigQuery 및 Iceberg REST Catalog 테이블의 데이터 품질을 정의하고 측정할 수 있습니다. 데이터 스캔을 자동화하고 정의된 규칙에 따라 데이터를 검증하며 데이터가 품질 요구사항을 충족하지 않으면 알림을 로깅할 수 있습니다. 자동 데이터 품질을 사용하면 데이터 품질 규칙과 배포를 코드로 관리하여 데이터 프로덕션 파이프라인 무결성을 향상시킬 수 있습니다.

데이터에서 이상치를 스캔하려면 Knowledge Catalog 데이터 프로필 스캔을 참고하세요. 스캔을 통해 데이터 품질 규칙을 생성할 수 있습니다. 기본 제공 품질 규칙을 사용하거나 맞춤 규칙을 빌드할 수도 있습니다.

Knowledge Catalog는 자동 데이터 품질과 통합된 모니터링, 문제 해결, Cloud Logging 알림을 제공합니다.

개념 모델

데이터 품질 스캔은 테이블 데이터에 품질 규칙을 적용하여 결과를 보고합니다.

데이터 품질 스캔은 내장된 규칙을 기준으로 데이터를 검증하는 Knowledge Catalog 데이터 스캔의 한 유형입니다. 데이터 스캔은 BigQuery 및 Cloud Storage (BigQuery 외부 테이블을 통해)에서 데이터를 샘플링하고 다양한 유형의 메타데이터를 추론하는 Knowledge Catalog 작업입니다. 자동 데이터 품질을 사용하여 테이블 품질을 측정하려면 data quality 유형의 DataScan 객체를 만듭니다. 스캔은 BigQuery 테이블 하나에서만 실행됩니다. 스캔은 Google 테넌트 프로젝트의 리소스를 사용하므로 자체 인프라를 설정하지 않아도 됩니다.

데이터 품질 스캔을 만들고 사용하는 단계는 다음과 같습니다.

  1. 데이터 품질 규칙 정의
  2. 규칙 실행 구성
  3. 데이터 품질 스캔 결과 분석
  4. 모니터링 및 알림 설정
  5. 데이터 품질 오류 문제 해결

규칙 정의

데이터 품질 스캔과 관련된 데이터 품질 규칙에서 데이터 기대치를 정의합니다. 다음과 같은 방법으로 데이터 품질 규칙을 만들 수 있습니다.

기본 제공 규칙

Knowledge Catalog는 다음과 같은 내장 규칙 카테고리를 지원합니다.

행 수준

행 수준 카테고리 규칙의 경우 각 데이터 행에 대해 예측이 적용됩니다. 각 행은 조건을 독립적으로 통과하거나 실패합니다. 예를 들면 column_A_value < 1입니다.

행 수준 검사를 수행하려면 통과 기준을 지정해야 합니다. 규칙을 통과하는 행의 비율이 기준 값 미만이면 규칙은 실패합니다.

집계

집계 규칙의 경우 예측은 전체 데이터에서 집계된 단일 값에 적용됩니다. 예를 들면 Avg(someCol) >= 10입니다. 통과하려면 검사가 불리언 true로 평가되어야 합니다. 집계 규칙에서는 각 행의 독립적인 통과 수나 실패 수를 제공하지 않습니다.

두 규칙 카테고리 모두에서 다음 매개변수를 설정할 수 있습니다.

다음 표에는 지원되는 행 수준 및 집계 규칙 유형이 나열되어 있습니다.

규칙 유형
( Google Cloud 콘솔에서의 이름)
행 수준 또는 집계 규칙 설명 지원되는 열 유형 규칙별 파라미터
RangeExpectation
(범위 검사)
행 수준 값이 최솟값과 최댓값 사이인지 확인합니다. 모든 숫자, 날짜, 타임스탬프 유형 열 필수:
  • 통과 기준 비율
  • min 또는 max 값: 값을 최소한 하나 이상 지정합니다.
선택사항:
  • strict min 사용 설정: 사용 설정하면 규칙 검사에서 '>=' 대신 '>'를 사용합니다.
  • strict max 사용 설정: 사용 설정하면 규칙 검사에서 '<=' 대신 '<'를 사용합니다.
  • ignore null 사용 설정: 사용 설정하면 규칙 검사에서 null 값이 무시됩니다.
NonNullExpectation
(Null 검사)
행 수준 열 값이 NULL이 아닌지 검증합니다. 지원되는 모든 열 유형 필수:
  • 통과 기준 비율
SetExpectation
(설정 검사)
행 수준 열의 값이 설정에 지정된 값 중 하나인지 확인합니다. 지원되는 모든 열 유형(RecordStruct 제외) 필수:
  • 확인할 문자열 값의 집합입니다.
  • 통과 기준 비율
선택사항:
  • ignore null 사용 설정: 사용 설정하면 규칙 검사에서 null 값이 무시됩니다.
RegexExpectation
(정규 표현식 검사)
행 수준 지정된 정규 표현식으로 값을 확인합니다. 문자열 필수:
  • 검사에 사용되는 정규 표현식 패턴입니다.
  • 통과 기준 비율
  • 참고: GoogleSQL은 re2 라이브러리를 사용하여 정규 표현식을 지원합니다. 정규 표현식 문법은 해당 문서를 참고하세요.
선택사항:
  • ignore null 사용 설정: 사용 설정하면 규칙 검사에서 null 값이 무시됩니다.
Uniqueness
(고유성 검사)
집계 열의 모든 값이 고유한지 확인합니다. 지원되는 모든 열 유형(RecordStruct 제외) 필수:
  • 지원되는 파라미터의 열 및 측정기준입니다.
선택사항:
  • ignore null 사용 설정: 사용 설정하면 규칙 검사에서 null 값이 무시됩니다.
StatisticRangeExpectation
(통계 검사)
집계 제공된 통계 측정이 예상 범위와 일치하는지 확인합니다. 지원되는 모든 숫자 열 유형 필수:
  • mean, min 또는 max 값: 값을 최소한 하나 이상 지정합니다.
선택사항:
  • strict min 사용 설정: 사용 설정하면 규칙 검사에서 '>=' 대신 '>'를 사용합니다.
  • strict max 사용 설정: 사용 설정하면 규칙 검사에서 '<=' 대신 '<'를 사용합니다.

지원되는 커스텀 SQL 규칙 유형

SQL 규칙은 커스텀 로직으로 검증을 확장할 수 있는 유연성을 제공합니다. 이러한 규칙은 다음 유형으로 제공됩니다.

규칙 유형 행 수준 또는 집계 규칙 설명 지원되는 열 유형 규칙별 파라미터
행 조건 행 수준 WHERE 절에서 SQL 표현식을 정의하여 모든 행에 대한 예측을 지정합니다. SQL 표현식은 행당 true(통과) 또는 false(실패)로 평가되어야 합니다.

Knowledge Catalog는 이 기대치를 통과하는 행의 비율을 계산하고 이 값과 통과 기준 비율을 비교하여 규칙의 성공 또는 실패를 결정합니다.

예를 들어 참조 무결성 검사를 만들기 위해 표현식에 다른 테이블에 대한 참조를 포함할 수 있습니다.
모든 열 필수:
  • 사용할 SQL 조건
  • 통과 기준 비율
  • 측정기준
선택사항:
  • 이 규칙을 연결할 열입니다.
grossWeight <= netWeight
테이블 조건
(집계 SQL 표현식)
집계 이러한 규칙은 테이블당 한 번 실행됩니다. 불리언 true(통과) 또는 false(실패)로 평가되는 SQL 표현식을 제공합니다.

SQL 표현식에는 표현식 서브 쿼리를 사용하여 다른 테이블에 대한 참조를 포함할 수 있습니다.
모든 열 필수:
  • 사용할 SQL 조건
  • 측정기준
선택사항:
  • 이 규칙을 연결할 열
간단한 집계 예시:
avg(price) > 100
표현식 서브 쿼리를 사용하여 서로 다른 테이블 값 비교:
(SELECT COUNT(*) FROM `example_project.example_dataset.different-table`) < COUNT(*)
SQL 어설션 집계 어설션 규칙은 데이터 품질 쿼리를 사용하여 쿼리에 지정된 조건 하나 이상을 실패한 행을 찾습니다. 잘못된 상태와 일치하는 행이 반환되도록 평가되는 SQL 문을 제공합니다. 쿼리에서 행을 반환하면 규칙이 실패합니다.

SQL 문에서 후행 세미콜론을 생략합니다. SQL 문에는 표현식 서브 쿼리를 사용하여 다른 테이블에 대한 참조를 포함할 수 있습니다.
모든 열 필수:
  • 잘못된 상태를 확인하는 SQL 문
  • 측정기준
선택사항:
  • 이 규칙을 연결할 열입니다.
discount_pct가 100보다 크지 않은지 확인하는 간단한 집계 예시:
SELECT * FROM example_project.example_dataset.table WHERE discount_pct > 100

표현식 서브 쿼리를 사용하여 서로 다른 테이블 값 비교:
SELECT * FROM `example_project.example_dataset.different-table` WHERE gross_weight > (SELECT avg(gross_weight) FROM `example_project.example_dataset.different-table`)

규칙 예시는 자동 데이터 품질 샘플 규칙을 참고하세요.

지원되는 SQL 함수는 GoogleSQL 참조를 확인하세요.

데이터 품질 규칙 재사용

규칙 템플릿을 사용하여 Knowledge Catalog 데이터 품질 규칙을 재사용하여 여러 데이터 품질 규칙에서 복잡하거나 표준화된 비즈니스 규칙 정의를 공유할 수 있습니다. 예를 들어 이메일 검증 또는 두 테이블 간의 외래 키 검증을 위한 규칙 템플릿을 만든 다음 데이터 검사에서 해당 템플릿을 재사용할 수 있습니다.

규칙 재사용성은 다음과 같은 주요 기능을 제공합니다.

  • 데이터 품질 규칙 템플릿: 여러 데이터 품질 규칙에서 공유할 수 있는 복잡하거나 표준화된 비즈니스 규칙 정의를 저장하는 맞춤 규칙 템플릿을 만듭니다. data-quality-rule-template 항목을 만들고 여기에 data-quality-rule-template 측면을 추가하여 템플릿 로직을 정의합니다.
  • 메타데이터로서의 데이터 규칙: BigQuery 테이블 또는 비즈니스 용어집 용어와 같은 항목의 Knowledge Catalog에서 데이터 품질 규칙을 측면으로 선언합니다. data-rules 관점 유형을 사용하여 이러한 규칙을 항목에 연결합니다.
  • 시스템 규칙 템플릿: 자주 사용되는 규칙에는 시스템 규칙 템플릿을 사용합니다.

자세한 내용은 데이터 품질 규칙 재사용을 참고하세요.

측정기준

측정기준을 사용하면 모니터링 및 알림에 사용되는 여러 데이터 품질 규칙 결과를 집계할 수 있습니다. 모든 데이터 품질 규칙을 측정기준과 연결해야 합니다. Knowledge Catalog는 다음과 같은 측정기준을 제공합니다.

최신 상태
최신 상태는 데이터가 마지막으로 업데이트된 시점을 측정합니다. 이 정보를 알면 데이터가 사용할 수 있을 정도로 충분히 최신 상태인지 확인할 수 있습니다.
볼륨
볼륨은 예상되는 모든 데이터가 있는지 여부를 측정합니다.
완전성
완전성은 의도된 목적에 필요한 모든 정보가 데이터에 포함되어 있는지 평가합니다.
유효성
유효성은 데이터가 형식, 허용 범위 또는 기타 기준에 대한 내장 표준을 준수하는지 평가합니다. 예를 들어 유효한 날짜 형식이 YYYY/mm/dd이면 08-12-2019는 잘못된 데이터입니다. 또 다른 예시로, 상품의 유효 할인가가 $10~$20 사이이면 $100 할인가는 잘못된 데이터입니다.
일관성
일관성은 테이블 및 열과 같은 인스턴스 여러 개에서 데이터 값이 같음을 의미합니다. 데이터 불일치는 예를 들어 판매 데이터베이스나 사용 데이터베이스에서 제품 수익을 읽을 때 제품 수익이 서로 다르면 발생합니다.
정확성
정확성은 데이터 정확성을 반영합니다. 유효한 데이터가 반드시 정확한 것은 아닙니다. 예를 들어 갈색은 유효한 머리카락 색상일 수 있지만 사람 머리카락이 갈색이 아니면 부정확한 데이터입니다.
고유성
고유성은 데이터가 중복 없이 구별되는지 여부를 측정합니다.

규칙에 입력된 입력

모든 값의 매개변수는 문자열 값으로 API에 전달됩니다. Knowledge Catalog를 사용하려면 BigQuery 지정 형식을 따르는 입력이 필요합니다.

바이너리 유형 매개변수는 base64로 인코딩된 문자열로 전달될 수 있습니다.

유형 지원되는 형식 예시
바이너리 Base64로 인코딩된 값 YXBwbGU=
타임스탬프 YYYY-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]] [time_zone]
또는 YYYY-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset]
2014-09-27 12:30:00.45-08
날짜 YYYY-M[M]-D[D] 2014-09-27
시간 [H]H:[M]M:[S]S[.DDDDDD] 12:30:00.45
DateTime YYYY-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]] 2014-09-27 12:30:00.45

데이터 참조 파라미터

커스텀 SQL 규칙을 만들 때 소스 테이블과 해당 필터를 명시적으로 언급하는 대신 규칙의 데이터 참조 매개변수 ${data()}를 사용하여 데이터 소스 테이블과 모든 전제조건 필터를 참조할 수 있습니다. Knowledge Catalog는 파라미터를 소스 테이블과 필터에 대한 참조로 해석합니다. 전제 조건 필터의 예로는 행 필터, 샘플링 비율, 증분 필터가 있습니다.

예를 들어 my_project_id.dim_dataset.dim_currency 데이터 소스 테이블이 있다고 가정해 보겠습니다. 새로운 일일 데이터만 스캔하는 증분 데이터 품질 스캔을 실행하려고 합니다. 오늘 항목을 필터링하는 행 필터인 transaction_timestamp >= current_date()가 테이블에 적용됩니다.

오늘 discount_pct가 포함된 행을 찾는 커스텀 SQL 규칙은 다음과 같습니다.

discount_pct IN (SELECT discount_pct FROM my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date())

데이터 참조 파라미터를 사용하는 경우 규칙을 간소화할 수 있습니다. 테이블과 해당 전제조건 필터의 멘션을 ${data()} 매개변수로 바꿉니다.

discount_pct IN (SELECT discount_pct FROM ${data()})

Knowledge Catalog는 ${data()} 매개변수를 오늘 항목 my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date()가 있는 데이터 소스 테이블에 대한 참조로 해석합니다. 이 예시에서 데이터 참조 매개변수는 증분 데이터만 참조합니다.

${data()} 파라미터는 대소문자를 구분합니다.

서브 쿼리 내에서 별칭을 사용하여 소스 테이블의 열을 참조하는 경우 데이터 참조 파라미터를 사용하여 소스 테이블을 참조하거나 테이블 참조를 생략합니다. WHERE 절의 직접 테이블 참조를 사용하여 소스 테이블의 열을 참조하지 마세요.

권장:

  • 데이터 참조 파라미터를 사용하여 소스 테이블을 참조합니다.

    discount_pct IN (
    SELECT discount_pct FROM
    `my_project_id.dim_dataset.dim_currency` AS temp-table
    WHERE
    temp-table.transaction_timestamp = ${data()}.timestamp
    )
    
  • 테이블 참조를 생략합니다.

    discount_pct IN (
    SELECT discount_pct FROM
    `another_project.another_dataset.another_table` AS temp-table
    WHERE
    temp-table.transaction_timestamp = timestamp
    

권장되지 않음:

  • 직접 테이블 참조를 사용하여 소스 테이블의 열을 참조하지 마세요.

    discount_pct IN (
    SELECT discount_pct FROM
    `my_project_id.dim_dataset.dim_currency` AS temp-table
    WHERE
    temp-table.transaction_timestamp = `my_project_id.dim_dataset.dim_currency`.timestamp
    )
    

다른 테이블 올바른 사용:

  • 다른 테이블의 열을 비교할 때는 직접 테이블 참조를 사용할 수 있습니다.

    discount_pct IN (
    SELECT discount_pct FROM
    `my_project_id.dim_dataset.dim_currency` AS temp-table
    WHERE
    temp-table.transaction_timestamp = `another_project.another_dataset.another_table`.timestamp
    )
    

쿼리 디버그

규칙을 만들 때 규칙과 함께 실행할 디버그 쿼리를 선택적으로 포함할 수 있습니다. 디버그 쿼리는 최대 10개의 스칼라 값을 반환하는 SQL 문입니다. 이러한 값은 규칙이 실패할 경우 원인을 진단하는 데 도움이 될 수 있습니다. 규칙당 최대 하나의 디버그 쿼리를 추가할 수 있으며 길이는 1, 024자를 초과할 수 없습니다.

상품당 평균 수익이 100을 초과하는지 확인하는 example_project.example_dataset.table 테이블의 다음 SQL 어설션 규칙을 고려해 보세요.

SELECT
  *
FROM
  `example_project.example_dataset.table`
WHERE
  SUM(revenue) / COUNT(DISTINCT item_id) > 100

이전 규칙이 실패하면 총수익, 순 항목 수, 항목당 평균 수익과 같은 측정항목을 확인하여 문제를 진단할 수 있습니다. 다음 디버그 쿼리는 이러한 측정항목을 반환합니다.

SELECT
  SUM(revenue),
  COUNT(DISTINCT item_id),
  SUM(revenue) / COUNT(DISTINCT item_id)
FROM `example_project.example_dataset.table`

규칙 실행

데이터 품질 스캔이 특정 간격으로 실행되도록 예약하거나 요청 시 스캔을 실행할 수 있습니다.

실행 ID

기본적으로 Knowledge Catalog는 중앙 집중식 서비스 에이전트 (service-PROJECT_NUMBER@gcp-sa-dataplex.)를 사용하여 데이터 품질 검사를 실행합니다.

맞춤 서비스 계정을 지정하거나 자체 최종 사용자 인증 정보 (EUC)를 사용하여 이 기본 실행 ID를 재정의할 수 있습니다. 이렇게 하면 다음과 같은 여러 이점이 있습니다.

  • 최소 권한의 원칙: 특정 데이터 품질 작업에 필요한 정확한 IAM 권한만 전용 서비스 계정에 부여하여 과도하게 프로비저닝된 액세스를 최소화합니다.
  • 세분화된 액세스 제어: 특정 리소스에 대한 권한을 범위 지정하여 BigQuery의 행 수준 및 열 수준 액세스 정책과 통합할 수 있습니다.
  • 감사 가능성 향상: 특정 검사에 맞춤 서비스 계정 또는 사용자 인증 정보를 할당하여 감사 로그에서 활동 추적 및 로깅을 훨씬 명확하게 할 수 있습니다.
  • 결제 통합: 맞춤 실행 ID를 사용하면 처리 및 저장 요금이 BigQuery에서 직접 중앙 집중화됩니다 (Knowledge Catalog Premium SKU 우회). 이를 통해 BigQuery 엔터프라이즈 할인 및 슬롯 약정을 활용할 수 있습니다.

맞춤 실행 ID를 구성하는 방법은 실행 ID 구성을 참고하세요.

네트워킹 요구사항

스캔을 실행하려면 스캔에 사용하는 VPC 서브넷에서 비공개 Google 액세스를 사용 설정해야 합니다. 서브넷을 지정하지 않은 경우 기본 서브넷에 비공개 Google 액세스가 사용 설정되어 있는지 확인합니다.

데이터 품질 스캔을 실행하면 Knowledge Catalog에서 작업을 만듭니다. 작업이 잘못 구성되었거나 예상보다 오래 실행되는 경우 작업을 취소할 수 있습니다.

데이터 품질 스캔 사양의 일부로 작업 범위를 다음 중 하나로 지정할 수 있습니다.

전체 테이블
각 작업은 전체 테이블을 검증합니다.
증분
각 작업은 증분 데이터를 검증합니다. 증분을 결정하려면 마커로 사용할 수 있는 Date / Timestamp 열을 테이블에 제공합니다. 일반적으로 이 테이블은 테이블의 파티션을 나눈 열입니다.

데이터 필터링

행 필터를 사용하여 데이터 품질을 위해 스캔할 데이터를 필터링할 수 있습니다. 행 필터를 만들면 특정 기간이나 특정 세그먼트(예: 특정 리전) 내의 데이터에 집중할 수 있습니다. 필터를 사용하면 실행 시간과 비용이 줄어들 수 있습니다. 예를 들어 특정 날짜 이전의 타임스탬프를 사용하여 데이터를 필터링할 수 있습니다.

샘플 데이터

데이터 품질 스캔을 실행할 수 있도록 데이터에서 샘플링할 레코드의 비율을 지정할 수 있습니다. 소량의 데이터 샘플에서 데이터 품질 스캔을 만들면 실행 시간과 전체 데이터 세트 쿼리 비용이 줄어들 수 있습니다.

규칙 필터링

데이터 품질 스캔을 실행할 때 AIP-160 필터 구문을 사용하여 특정 규칙을 선택적으로 실행할 수 있습니다. Knowledge Catalog는 스캔에 정의된 규칙의 메타데이터 또는 data-rules 관점을 통해 카탈로그 항목에 연결된 규칙에 대해 필터링을 실행합니다.

필터 구문

필터 구문은 AIP-160 가이드라인을 따릅니다. 표준 AIP-160 연산자 (예: =, !=, >, <, =~)를 사용하고 AND 또는 OR를 사용하여 여러 조건을 결합할 수 있습니다.

AIP-160 필터 문자열을 사용하는 경우 다음을 수행하세요.

  • Google Cloud 콘솔: AIP-160 구문을 사용하여 필터를 직접 입력합니다(예: name = "critical_check").
  • API 호출에서: 필터 문자열은 다른 JSON 문자열 리터럴 내의 값인 경우가 많습니다. 이렇게 하려면 AIP-160 문자열 내에서 큰따옴표를 이스케이프해야 합니다. 예를 들면 "filter": "name = \"critical_check\""입니다.

필터링 가능한 필드

규칙 정의에서 사용할 수 있는 대부분의 필드를 기준으로 필터링할 수 있습니다.

  • name: 규칙의 표시 이름입니다.
  • dimension: 데이터 품질 측정기준 (예: VALIDITY)
  • column: 규칙이 적용되는 열의 이름입니다.
  • threshold: 규칙의 통과 기준점입니다.
  • ignore_null: 불리언 값입니다. true, NULL 행이 통과된 것으로 간주되는 경우
  • attributes: 규칙에 할당된 맞춤 키-값 쌍입니다.

다음 예시에서는 일반적인 필터 패턴을 보여줍니다. 숫자 및 불리언 값은 따옴표로 묶이지 않습니다.

이름별 필터링

  • 정확히 일치: name = "critical_check"
  • 패턴 일치: name =~ "temp_.*"

측정기준별 필터링

  • 특정 측정기준 일치: dimension = "COMPLETENESS"
  • 여러 측정기준 일치: dimension = "VALIDITY" OR dimension = "ACCURACY"

열 및 기준점으로 필터링

  • 특정 열 일치: column = "user_id"
  • 기준점 일치: threshold > 0.95
  • 범위 일치: threshold >= 0.8 AND threshold < 0.9

ignore_null로 필터링

  • 불리언 값 일치: ignore_null = true

맞춤 속성으로 필터링

  • 키 존재 여부 확인: attributes:environment
  • 키 및 값 일치: attributes.environment = "prod"
  • 정규 표현식을 사용한 일치: attributes.tag =~ "prio-.*"
  • 일치 조합: attributes.environment = "prod" AND attributes.criticality = "high"

데이터 품질 스캔 결과

데이터 품질 스캔 결과는 Knowledge Catalog 및 BigQuery에서 제공됩니다. 또한 다음 방법을 사용하여 스캔 결과를 검토하고 분석할 수 있습니다.

  • BigQuery로 결과 내보내기

    추가 분석에 사용할 수 있도록 스캔 결과를 BigQuery 테이블로 내보낼 수 있습니다. 보고를 맞춤설정하려면 BigQuery 테이블 데이터를 Looker 대시보드에 연결하면 됩니다. 여러 스캔에서 동일한 결과 테이블을 사용하여 집계 보고서를 빌드할 수 있습니다.

  • 결과를 Knowledge Catalog 메타데이터로 게시

    데이터 품질 스캔 결과를 Knowledge Catalog 메타데이터로 게시할 수 있습니다. 최신 결과는 data-quality-scorecard 시스템 관점 유형 아래의 소스 테이블을 나타내는 Knowledge Catalog 항목에 저장됩니다. Google Cloud 콘솔의 소스 테이블 BigQuery 및 Knowledge Catalog 페이지에 있는 데이터 품질 탭에서 결과를 확인할 수 있습니다. API를 사용하여 결과를 검색할 수도 있습니다.

    Knowledge Catalog 메타데이터에 대한 자세한 내용은 Knowledge Catalog의 메타데이터 관리 정보를 참고하세요.

  • 데이터 품질 점수 검토

    각 스캔 결과에서 통과된 규칙 비율을 나타내는 데이터 품질 점수를 제공합니다. 점수는 전체 작업 수준, 열 수준(규칙이 열을 기준으로 평가된 경우), 측정기준 수준에서 보고됩니다. 데이터 품질 점수를 사용하여 테이블이나 열 간의 데이터 품질을 정규화하고 추세를 추적하며 품질 요구사항을 충족하지 않는 데이터를 식별합니다.

자세한 내용은 데이터 품질 스캔 결과 보기를 참고하세요.

모니터링 및 알림

다음 방법을 사용하여 데이터 품질 스캔에 대한 알림을 모니터링하고 가져올 수 있습니다.

  • Cloud Logging에서 알림 설정

    로그 탐색기에서 data_scandata_quality_scan_rule_result 로그를 사용하여 데이터 품질 작업을 모니터링할 수 있습니다.

    data_scan_type 필드가 DATA_QUALITY로 설정된 각 데이터 품질 작업의 data_scan 로그에는 다음 정보가 포함됩니다.

    • 데이터 스캔에 사용되는 데이터 소스
    • 생성 시간, 시작 시간, 종료 시간, 작업 상태와 같은 작업 실행 세부정보
    • 데이터 품질 작업 결과: 성공 또는 실패
    • 측정기준 수준 통과 또는 실패

    성공한 모든 작업에는 해당 작업의 각 규칙에 대한 다음 세부정보가 있는 data_quality_scan_rule_result 로그가 포함됩니다.

    • 규칙 이름, 규칙 유형, 평가 유형, 측정기준과 같은 구성 정보
    • 통과 또는 실패, 총 행 수, 통과 행 수, null 행 수, 평가된 행 수와 같은 결과 정보

    로그의 정보는 API 및Google Cloud 콘솔을 통해 제공됩니다. 이 정보를 사용하여 알림을 설정할 수 있습니다. 자세한 내용은 Logging에서 알림 설정을 참고하세요.

  • 이메일 알림 보고서 전송

    이메일 알림 보고서를 전송하여 데이터 품질 작업의 상태와 결과를 사용자에게 알릴 수 있습니다. 다음과 같은 시나리오에서 알림 보고서를 사용할 수 있습니다.

    • 데이터 품질 점수가 지정된 목표 점수보다 낮습니다.
    • 작업이 실패한 경우
    • 작업이 완료되었습니다.

    데이터 품질 스캔을 만들 때 알림 보고서를 구성합니다.

  • Cloud Billing에서 DCU 컴퓨팅 비용 모니터링

    데이터 품질 스캔 서버리스 컴퓨팅은 시계열 측정항목을 Cloud Monitoring으로 내보내지 않습니다. 프로젝트, 스캔 ID 또는 테이블별로 데이터 품질 DCU 비용을 추적하고 귀속시키려면 BigQuery에서 goog-dataplex-datascan-* 시스템 라벨을 사용하여 Cloud Billing 내보내기를 쿼리하세요. 자세한 내용은 Cloud Billing 내보내기로 Dataplex DCU 비용 모니터링 및 기여도 분석을 참고하세요.

데이터 품질 오류 문제 해결

규칙 실행이 실패하면 Knowledge Catalog에서 실패한 레코드를 가져오는 쿼리를 제공합니다. 이 쿼리를 실행하여 규칙과 일치하지 않는 레코드를 확인합니다. 자세한 내용은 데이터 품질 오류 해결을 참고하세요.

제한사항

  • gcloud CLI에서는 규칙 권장사항이 지원되지 않습니다.
  • 측정기준 선택은 사전 정의된 7가지 측정기준 중 하나로 고정되어 있습니다.
  • 데이터 품질 스캔당 규칙 수는 1,000개로 제한됩니다.
  • 열 수준에서 보고되는 데이터 품질 점수는 API에서만 지원됩니다.
  • BigQuery, Iceberg REST 카탈로그 테이블, SAP Business Data Cloud Delta Lake 테이블, Apache Hive 테이블에서만 데이터 품질 규칙을 실행할 수 있습니다.

가격 책정

다음 단계