다음을 통해 공유


Expectations

이 페이지에는 파이프라인 기대에 대한 Python 참조 설명서가 포함되어 있습니다.

예상 데코레이터는 파이프라인에서 만든 구체화된 뷰, 스트리밍 테이블 또는 임시 뷰에 대한 데이터 품질 제약 조건을 선언합니다.

이 모듈에는 dp 예상 동작을 제어하는 데코레이터 6개가 포함되어 있습니다. 다음 표는 이러한 순열이 차이 나는 차원에 대해 설명합니다.

행동 Options
위반에 대한 조치
  • 대상 데이터 세트에 행을 포함합니다. 유효하고 잘못된 레코드 수가 다른 데이터 세트 메트릭과 함께 기록됩니다.
  • 대상 데이터 세트에 쓰기 전에 행을 삭제합니다. 삭제된 레코드 수는 다른 데이터 세트 메트릭과 함께 기록됩니다.
  • 업데이트를 즉시 중지합니다. 이러한 예상은 단일 흐름의 실패를 초래하지만, 파이프라인의 다른 흐름에 영향을 미치지 않습니다.
예상 수 단일 기대 또는 여러 기대치.

데이터 세트에 여러 기대 데코레이터를 추가하여 데이터 품질 제약 조건에 대한 엄격한 유연성을 제공할 수 있습니다.

데코레이터를 사용하는 expect_all 경우 각 기대치에는 고유한 설명이 있으며 세분화된 메트릭을 보고합니다.

Syntax

예상 데코레이터는 @dp.table(), @dp.materialized_view 또는 @dp.temporary_view() 데코레이터 뒤에, 그리고 데이터 세트 정의 함수 앞에 옵니다. 예를 들어 다음과 같습니다.

from pyspark import pipelines as dp

@dp.table()
@dp.expect(description, constraint)
@dp.expect_or_drop(description, constraint)
@dp.expect_or_fail(description, constraint)
@dp.expect_all({description: constraint, ...})
@dp.expect_all_or_drop({description: constraint, ...})
@dp.expect_all_or_fail({description: constraint, ...})
def <function-name>():
    return (<query>)

매개 변수

매개 변수 유형 Description
description str 필수 사항입니다. 제약 조건을 식별하는 설명입니다. 제약 조건 설명은 각 데이터 세트에 대해 고유해야 합니다.
constraint str 필수 사항입니다. 제약 조건 절은 각 레코드에 대해 평가 truefalse 해야 하는 SQL 조건문입니다. 제약 조건에는 유효성 검사 대상에 대한 실제 논리가 포함됩니다. 레코드가 이 조건에 실패하면 기대가 트리거됩니다.

데코레이터는 설명 및 제약 조건을 expect_all 키-값 쌍의 dict으로 전달해야 합니다.