第9章. データ品質デザインパターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
信頼はデータセットの重要な価値である。データ交換は相互取引のようなもので、サービス(データセット)を提供するか消費するかのどちらかである。最終的なゴールは、プロデューサとコンシューマがデータセットの交換に満足することである。残念ながら、信頼できないデータセットで仕事をすることに興奮することはほとんどないだろう。データセットから引き出される洞察は、いつ間違っていてもおかしくないからだ。
信頼を失う原因の一つはデータセットの質の低さであり、これは不完全さ、不正確さ、矛盾の問題を意味する。しかし、良いニュースは、これらの問題は目新しいものではなく、データエンジニアがこれらの問題と戦い続けているとしても、データ品質の問題を軽減するデザインパターンがいくつかあるということだ。
この章では、3つの異なるカテゴリーに分類されたデザインパターンの助けを借りて、データ品質の問題に対処する。最初のカテゴリーでは、どのようにして品質を強制し、品質の低いデータを下流のコンシューマに公開しないようにするかについて説明する。
次のパートでは、スキーマレベルでデータ品質の問題に対処する方法を説明する。多くの場合、プロデューサはスキーマを変更するまでは、何の問題もなくデータを生成することができる。進化のタイプによっては、これはパイプラインの致命的な失敗につながり、データプロバイダーの信頼を失うことになるかもしれない。
最後のパートでは、今日の実施規則が明日のデータにも有効であることを保証する方法について説明する。そのためには、データとスキーマを管理することに加えて、データセットを観察し、コンシューマよりも先に新たな問題を発見することが重要である。このような観察テクニックは、処理されたデータセットの最新の概要を提供することで、実施規則を常に最新の状態に保つのに役立つ。
これはこの章の文脈に過ぎない。もっと具体的な例を見てみたいという方は、品質執行に関する第1章をご覧いただきたい。
品質執行
データセットの品質を保証するということは、不完全な、一貫性のない、あるいは不正確なデータセットを共有しないことを意味する。したがって、品質確保は、信頼できるデータを共有することを目標に、パイプラインに適用するデータ品質パターンの最初のカテゴリーである。
パターン監査-執筆-監査-出版
データセットの品質を保証する最初の方法は、データフローにコントロールを追加することである。このアプローチは、単体テストにおけるアサーションに似ており、想定される入力に対してコードが正しく動作しているかどうかを検証する。このようなアサーションをデータフローに置き換えることで、データセットが期待にそぐわない場合に実行全体を停止するようなデータ品質ガードをパイプラインに作り出すことができる。