Great Expectations로 배우는 데이터 품질 입문
Davina Moossazadeh
Data Scientist
체크포인트 - 공통 파라미터로 검증 정의를 묶어 실행하는 객체

액션 - 체크포인트에서 구성되며 검증 결과를 바탕으로 GX를 다른 도구와 연동하는 구성 요소
재사용성
액션
$$
gx.Checkpoint()로 Slack 알림 포함 체크포인트 생성:
checkpoint = gx.Checkpoint(name="my_checkpoint",validation_definitions=[validation_definition],actions=[SlackNotificationAction()] # optional )
검증 정의를 데이터 컨텍스트에 추가하기 전에 체크포인트를 실행하면 오류가 발생합니다:
CheckpointRelatedResourcesFreshnessError:
ValidationDefinition 'my_validation_definition' must be added to the DataContext
before it can be updated. Please call `context.validation_definitions.add(
<VALIDATION_DEFINITION_OBJECT>)`, then try your action again.
.validation_definitions.add()로 데이터 컨텍스트에 검증 정의 추가:
validation_definition = context.validation_definitions.add(validation_definition=validation_definition )
checkpoint_results = checkpoint.run(
batch_parameters={"dataframe": dataframe}
)

print(checkpoint_results.success)
False
print(checkpoint_results.describe())
{ "success": false,
"statistics": {
"evaluated_expectations": 1, "successful_expectations": 0,
"unsuccessful_expectations": 1, "success_percent": 0.0
},
"expectations": [{
"expectation_type": "expect_table_row_count_to_equal",
"success": false,
"kwargs": {"batch_id": ""my_datasource-my_dataframe_asset", "value": 118000},
"result": {"observed_value": 11866}}
],
"result_url": "https://app.greatexpectations.io/organizations/my_org/data-assets/*/validations/expectation-suites/0a123b9c-e370-4b18-b703-785dde88732d/results/cb093105-6ede-47d4-a141-dee10c632e18"
}
Data Docs - GX 메타데이터로 생성된 정적 웹사이트
# Data Docs를 업데이트하는 액션이 포함된 체크포인트
gx.Checkpoint(
name,
validation_definitions,
actions=[
gx.checkpoint.actions.UpdateDataDocsAction(
name="update_my_site", site_names="my_data_docs_site"
)
],
)

검증 정의를 데이터 컨텍스트에 추가:
context.validation_definitions.add(
validation_definition
)
체크포인트 생성:
checkpoint = gx.Checkpoint(
name: str,
validation_definitions: list,
)
체크포인트 실행:
checkpoint_results = checkpoint.run(
batch_parameters={"dataframe": dataframe}
)
체크포인트 결과 확인:
checkpoint_results.success
checkpoint_results.describe()
Great Expectations로 배우는 데이터 품질 입문