Expectation Suites को Validate करें

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

Davina Moossazadeh

Data Scientist

Validation Definitions

Validation Definition - एक संदर्भ जो किसी Expectation Suite को उसके डेटा से जोड़ता है

एक चित्र जिसमें Data और Expectation Suite इनपुट हैं और Validation Results आउटपुट है, यानी Validation Definition की रूपरेखा।

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

Validation Definition बनाना

ValidationDefinition क्लास से एक Validation Definition बनाएँ:

validation_definition = gx.ValidationDefinition(

name="my_validation_definition",
data=batch_definition,
suite=suite, )
print(validation_definition)
Great Expectations के साथ Data Quality परिचय

Validation Definition देखना

name='my_validation_definition' 
data=BatchDefinition(
    id='1fcb36d6-fac6-4b9a-8ba6-a659978fd59e', 
    name='my_batch_definition', 
    partitioner=None
) 
suite={
  "name": "my_suite",
  "id": "0a123b9c-e370-4b18-b703-785dde88732d",
  "expectations": [],
  "meta": {"great_expectations_version": "1.2.4"},
  "notes": null
} 
id=None
Great Expectations के साथ Data Quality परिचय

Validation Definition देखना

print(validation_definition.name)
'my_validation_definition' 
print(validation_definition.data)
id='1fcb36d6-fac6-4b9a-8ba6-a659978fd59e' 
name='my_batch_definition' 
partitioner=None
print(validation_definition.suite)
{
  "name": "my_suite",
  "id": "0a123b9c-e370-4b18-b703-785dde88732d",
  "expectations": [],
  "meta": {"great_expectations_version": "1.2.4"},
  "notes": null
} 
print(validation_definition.id)
None
Great Expectations के साथ Data Quality परिचय

Validation Definition देखना

print(validation_definition.data_source)
assets:
  - batch_definitions:
      - name: my_batch_definition
        partitioner: null
    batch_metadata: {}
    id: 83682084-3bc4-4898-a807-fadc0f911415
    name: 'my_dataframe_asset'
    type: dataframe
id: f71d275e-a5b2-402e-a53c-8dad6975cce5
name: 'my_pandas_data_source'
type: pandas
Great Expectations के साथ Data Quality परिचय

Validation Definition चलाना

Validation Definition की .run() मेथड से Validation चलाएँ, batch_parameters से DataFrame पास करें:

validation_results = validation_definition.run(

batch_parameters={"dataframe": dataframe} )
Great Expectations के साथ Data Quality परिचय

Validation Definition errors

त्रुटि पर ध्यान दें:

ValidationDefinitionRelatedResourcesFreshnessError:
ExpectationSuite 'my_suite' must be added to the DataContext before it can be 
updated. Please call `context.suites.add(<SUITE_OBJECT>)`, then try your action 
again.

Expectation Suite को Data Context में जोड़े बिना Validation Definition चलाने पर त्रुटि आती है

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

Expectation Suite जोड़ना

.suites.add() से Expectation Suite को Data Context में जोड़ें:

suite = context.suites.add(

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

Validation Definition का आकलन

validation_results = validation_definition.run(
    batch_parameters={"dataframe": dataframe}
)
Calculating Metrics: 0/0 [00:00<?, ?it/s]
print(validation_results.success)
False
print(validation_results.describe())
Great Expectations के साथ Data Quality परिचय

Validation Definition का आकलन

{ "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 परिचय

GX के बारे में एक नोट

  • Great Expectations समान कार्यों के लिए कई workflows देता है
    • जैसे, Batch Definitions बनाम Validation Definitions
  • यह कोर्स व्यापक समझ देता है, पर वैकल्पिक GX implementations अलग तरीके अपना सकते हैं
Great Expectations के साथ Data Quality परिचय

चीट शीट

Expectation Suite को Data Context में जोड़ें:

context.suites.add(suite)

Validation Definition बनाएँ:

validation_definition = \
gx.ValidationDefinition(
  name: str, 
  data=batch_definition, 
  suite=suite
)

Validation चलाएँ:

validation_results = \
validation_definition.run(
  batch_parameters={"dataframe": dataframe}
)

Validation Results जाँचें:

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

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

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

Preparing Video For Download...