Skip to content
Latchkey

データ品質チェックとは?自動化された品質アサーションを解説

データ品質チェックとは、datasetがdownstreamで信頼される前に、定義された基準 - 正確、完全、一貫、新鮮 - を満たしているかを検証する自動化されたアサーションです。

データ品質チェックは、データの世界におけるユニットテストのアサーションに相当します。「この列は決してnullにならない」や「行数が昨日の10パーセント以内」といった、datasetに関する単一の期待を表現し、パスまたは失敗します。多数のチェックが合わさってquality gateを形成します。

データ品質チェックとは何か

データ品質チェックとは、データに適用される単一の自動化されたルールです。一般的な次元は、正確性、完全性(欠損値がない)、一貫性(テーブル間で値が一致する)、一意性、妥当性(値が許可された集合に収まる)、適時性(データが十分に新鮮)です。

チェック対検証対契約

データ品質チェックは最小単位、つまり1つのアサーションです。データ検証は境界でチェックのスイートを実行することです。データ契約は、チーム間でどのチェックが成立すべきかを固定する合意です。これらはルール、スイート、合意へと積み重なります。

チェックが実行される場所

チェックは主要なステップの後にpipeline内で、scheduleに従って本番テーブルに対して、そしてCIでサンプルデータに対して実行されます。失敗したチェックは、重大度に応じてpipelineをブロックしたり、アラートを上げたり、不正なbatchを隔離したりできます。

CIでのチェック

変更のたびに代表的なチェックのセットをサンプルデータに対して実行し、データロジックのリグレッションがmerge前に捕捉されるようにします。

Data quality checks as a CI gate
steps:
  - run: dbt test --select my_model    # column-level checks
  - run: great_expectations checkpoint run sample_suite

Latchkeyノート

品質チェックのjobはサンプルデータと依存関係を繰り返し読み込みます。Latchkeyでは、cacheがそれらを高速に保ち、auto-retryにより一時的なソースのタイムアウトは再試行され、run全体を失敗させる品質障害として報告されません。

重要なポイント

  • データ品質チェックは、正確性、完全性、一貫性、または新鮮さに関する単一の自動化されたアサーションである。
  • チェックは検証スイートに組み合わさり、契約がそれをチーム間の合意として固定する。
  • CIで代表的なチェックをサンプルデータに対して実行すると、merge前にデータロジックのリグレッションを捕捉できる。

関連ガイド