コンポーネントを管理する

Great Expectationsで始めるデータ品質入門

Davina Moossazadeh

Data Scientist

コンポーネント

「GX コンポーネント」— データとデータ検証のエンティティを表す Python クラス

  • Data Context
  • Data Sources と Data Assets
  • Batch Definitions と Batches
  • Expectations
  • Expectation Suites
  • Validation Definitions
  • Checkpoints と Actions
  • Data Docs
1 https://docs.greatexpectations.io/docs/core/introduction/gx_overview
Great Expectationsで始めるデータ品質入門

GX のコンポーネント管理

【Data Sources】

  • データへ接続し、Data Assets を保持

【Expectation Suites】

  • Expectations を格納

【Validation Definitions】

  • データに対して Expectations を検証

【Checkpoints】

  • Validation をまとめて自動化

context.data_sources

$$

context.suites

$$

context.validation_definitions

$$

context.checkpoints

Great Expectationsで始めるデータ品質入門

コンポーネントを追加

Expectation Suite:

suite = context.suites.add(suite)

Validation Definition:

validation_definition = context.validation_definitions.add(validation_definition)

Checkpoint:

checkpoint = context.checkpoints.add(
    checkpoint=checkpoint
)
Great Expectationsで始めるデータ品質入門

Data Source を追加

data_source = context.data_sources.add_<TYPE_NAME>()

1 https://docs.greatexpectations.io/docs/core/connect_to_data/
Great Expectationsで始めるデータ品質入門

pandas の Data Source を追加

.add_pandas() を使うと、pandas DataFrame 用の Data Source を簡単に設定できます:

data_source = context.data_sources.add_pandas(
    name="my_pandas_datasource"
)
Great Expectationsで始めるデータ品質入門

コンポーネントの取得

.get() で name を指定してコンポーネントを取得:

context.<COMPONENT>s.get(

name: str )
data_source = context.data_sources.get(

name="my_pandas_datasource" )
print(data_source)
id: 46c91f1b-1db9-4351-b5dd-83e038c0f511
name: 'my_pandas_datasource'
type: pandas
Great Expectationsで始めるデータ品質入門

コンポーネントの取得

Data Sources:

context.data_sources.get(
    name="my_pandas_datasource"
)

Expectation Suites:

context.suites.get(
    name="my_suite"
)

Validation Definitions:

context.validation_definitions.get(
    name="my_validation_definition"
)

Checkpoints:

context.checkpoints.get(
    name="my_checkpoint"
)
Great Expectationsで始めるデータ品質入門

コンポーネントの一覧

.all() で Data Context 内の全コンポーネント(名前・メタデータ)を一覧:

context.<COMPONENT>s.all()
data_sources = context.data_sources.all()

print(data_sources)
{
    'my_pandas_datasource': PandasDatasource(
        type='pandas',
        name='my_pandas_datasource', 
        id=UUID('c22b16f7-6945-400e-932f-026cbd63b112'), 
        assets=[]
    )
}
Great Expectationsで始めるデータ品質入門

コンポーネントの一覧

Data Sources:

context.data_sources.all()

Expectation Suites:

context.suites.all()

Validation Definitions:

context.validation_definitions.all()

Checkpoints:

context.checkpoints.all()
Great Expectationsで始めるデータ品質入門

コンポーネントの削除

.delete() で name を指定してコンポーネントを削除:

context.<COMPONENT>s.delete(

name: str )
context.data_sources.delete(
    name="my_pandas_datasource"
)

print(context.data_sources.all())
{}
Great Expectationsで始めるデータ品質入門

コンポーネントの削除

Data Sources:

context.data_sources.delete(
    name="my_pandas_datasource"
)

Expectation Suites:

context.suites.delete(
    name="my_suite"
)

Validation Definitions:

context.validation_definitions.delete(
    name="my_validation_definition"
)

Checkpoints:

context.checkpoints.delete(
    name="my_checkpoint"
)
Great Expectationsで始めるデータ品質入門

チートシート

コンポーネントを Data Context に追加:

context.data_sources.add(data_source)

context.suites.add(suite)

context.validation_definitions.add(
    validation_definition
)

context.checkpoints.add(checkpoint)

コンポーネントを取得:

.get(name: str)

一覧表示:

.all()

削除:

.delete(name: str)
Great Expectationsで始めるデータ品質入門

Passons à la pratique !

Great Expectationsで始めるデータ品質入門

Preparing Video For Download...