नए डेटा पर Expectations लागू करें

Great Expectations के साथ Data Quality परिचय

Davina Moossazadeh

Data Scientist

Checkpoints

Checkpoint - एक ऑब्जेक्ट जो साझा पैरामीटर्स के साथ Validation Definitions को समूहित कर चलाता है

एक स्कीमैटिक जिसमें Checkpoint दिखाया गया है: Batch Requests -> Data Source -> Validation Definition. Validation Definition से Validation Results निकलते हैं, जो वैकल्पिक Action List (एक या अधिक Actions) में जाते हैं.

Actions - Checkpoints द्वारा कॉन्फ़िगर किए गए कॉम्पोनेंट्स जो Validation Results के आधार पर GX को अन्य टूल्स से जोड़ते हैं

1 https://docs.greatexpectations.io/docs/core/trigger_actions_based_on_results/create_a_checkpoint_with_actions/
Great Expectations के साथ Data Quality परिचय

Checkpoints क्यों उपयोग करें?

Reusability

  • एक Batch पर कई Validation Definitions चला सकते हैं

Actions

  • Validation Results के आधार पर Actions ट्रिगर कर सकते हैं
Great Expectations के साथ Data Quality परिचय

Checkpoint बनाना

$$

gx.Checkpoint() के जरिए Slack Notification वाला Checkpoint बनाना:

checkpoint = gx.Checkpoint(

name="my_checkpoint",
validation_definitions=[validation_definition],
actions=[SlackNotificationAction()] # optional )
Great Expectations के साथ Data Quality परिचय

Checkpoint errors

Validation Definition को Data Context में जोड़ने से पहले Checkpoint चलाने पर error आएगा:

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.
Great Expectations के साथ Data Quality परिचय

Validation Definition जोड़ना

.validation_definitions.add() से Validation Definition को Data Context में जोड़ें:

validation_definition = context.validation_definitions.add(

validation_definition=validation_definition )
Great Expectations के साथ Data Quality परिचय

Checkpoint चलाना

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

Checkpoint Results. आउटपुट लंबा है और स्लाइड पर फिट नहीं होता.

Great Expectations के साथ Data Quality परिचय

Checkpoint Results का आकलन

print(checkpoint_results.success)
False
print(checkpoint_results.describe())
Great Expectations के साथ Data Quality परिचय

Checkpoint Results का आकलन

{ "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"
}
Great Expectations के साथ Data Quality परिचय

Data Docs

Data Docs - GX मेटाडेटा से जनरेट हुई स्टैटिक वेबसाइट्स

# Data Docs अपडेट करने वाली Action के साथ Checkpoint
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/
Great Expectations के साथ Data Quality परिचय

Data Docs

Data Docs वेबपेज का स्क्रीनशॉट, जिसमें टेबल-लेवल Expectations और उनके observed values की सूची है. एक row count range Expectation की Validation History टेबल खुली है, जहाँ run time, observed value, और min तथा max values दिख रहे हैं. ऊपर दाएँ, हरे बॉक्स में चेक मार्क के साथ लिखा है "All Expectations met".

Great Expectations के साथ Data Quality परिचय

Cheat sheet

Validation Definition को Data Context में जोड़ें:

context.validation_definitions.add(
    validation_definition
)

Checkpoint बनाएँ:

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

Checkpoint चलाएँ:

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

Checkpoint Results जाँचें:

checkpoint_results.success
checkpoint_results.describe()
Great Expectations के साथ Data Quality परिचय

अभ्यास करते हैं!

Great Expectations के साथ Data Quality परिचय

Preparing Video For Download...