Áp dụng Expectations cho dữ liệu mới

Nhập môn Data Quality với Great Expectations

Davina Moossazadeh

Data Scientist

Checkpoints

Checkpoint - Đối tượng nhóm và chạy các Validation Definition với tham số dùng chung

Sơ đồ Checkpoint, gồm quy trình: Batch Requests -> Data Source -> Validation Definition. Validation Definition xuất ra Validation Results, đưa vào tùy chọn Action List, chứa một hoặc nhiều Action.

Actions - Thành phần do Checkpoint cấu hình, tích hợp GX với công cụ khác dựa trên Validation Results

1 https://docs.greatexpectations.io/docs/core/trigger_actions_based_on_results/create_a_checkpoint_with_actions/
Nhập môn Data Quality với Great Expectations

Vì sao dùng Checkpoints?

Tái sử dụng

  • Có thể chạy nhiều Validation Definition trên một Batch

Actions

  • Có thể kích hoạt Actions dựa trên Validation Results
Nhập môn Data Quality với Great Expectations

Tạo Checkpoint

$$

Tạo Checkpoint với thông báo Slack qua gx.Checkpoint():

checkpoint = gx.Checkpoint(

name="my_checkpoint",
validation_definitions=[validation_definition],
actions=[SlackNotificationAction()] # tùy chọn )
Nhập môn Data Quality với Great Expectations

Lỗi Checkpoint

Chạy Checkpoint trước khi thêm Validation Definition vào Data Context sẽ báo lỗi:

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.
Nhập môn Data Quality với Great Expectations

Thêm Validation Definition

Thêm Validation Definition vào Data Context bằng .validation_definitions.add():

validation_definition = context.validation_definitions.add(

validation_definition=validation_definition )
Nhập môn Data Quality với Great Expectations

Chạy Checkpoint

checkpoint_results = checkpoint.run(
    batch_parameters={"dataframe": dataframe}
)

Kết quả Checkpoint. Đầu ra dài và không hiển thị hết trên slide.

Nhập môn Data Quality với Great Expectations

Đánh giá kết quả Checkpoint

print(checkpoint_results.success)
False
print(checkpoint_results.describe())
Nhập môn Data Quality với Great Expectations

Đánh giá kết quả Checkpoint

{ "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"
}
Nhập môn Data Quality với Great Expectations

Data Docs

Data Docs - trang web tĩnh sinh từ metadata của GX

# Checkpoint với Action cập nhật Data Docs
gx.Checkpoint(
    name,
    validation_definitions,
    actions=[
      gx.checkpoint.actions.UpdateDataDocsAction(
          name="update_my_site", site_names="my_data_docs_site"
        )
    ],
)
1 https://docs.greatexpectations.io/docs/core/configure_project_settings/configure_data_docs/
Nhập môn Data Quality với Great Expectations

Data Docs

Ảnh chụp trang Data Docs hiển thị danh sách Expectations cấp bảng và giá trị quan sát. Một Expectation về khoảng số dòng được mở rộng bảng Validation History, cho thấy thời gian chạy, giá trị quan sát, và giá trị min/max. Góc phải trên có hộp xanh dấu kiểm ghi "All Expectations met".

Nhập môn Data Quality với Great Expectations

Ghi chú nhanh

Thêm Validation Definition vào Data Context:

context.validation_definitions.add(
    validation_definition
)

Tạo Checkpoint:

checkpoint = gx.Checkpoint(
    name: str, 
    validation_definitions: list,
)

Chạy Checkpoint:

checkpoint_results = checkpoint.run(
    batch_parameters={"dataframe": dataframe}
)

Kiểm tra kết quả Checkpoint:

checkpoint_results.success
checkpoint_results.describe()
Nhập môn Data Quality với Great Expectations

Ayo berlatih!

Nhập môn Data Quality với Great Expectations

Preparing Video For Download...