データ分析基盤におけるデータ品質の管理(2)- AWS Glueによるデータ品質評価プロセスの実装例

 
重要:個人情報や機密情報の使用に関する注意喚起(必ずお読みください)
 当検証で紹介している技術やサービスの使用は、読者の皆様自身の判断と責任で行ってください。特に、個人情報や機密情報を含むデータの取り扱いについては、最大限の注意を払い、適切なセキュリティ対策を講じることが不可欠です。
 検証や実際の利用を行う際には、常にプライバシー保護の法律、規制、およびベストプラクティスを遵守するよう心掛けてください。また、第三者のデータを使用する場合は、必要な同意を得ること、及びそのデータの使用が法律に準じていることを確認することが重要です。
 本ブログや筆者、所属する団体は、紹介する技術を用いて行われるいかなる活動から生じる直接的または間接的な損害に対して、責任を負いかねます。技術を使用することによって生じ得るリスクを理解し、自己の責任で慎重にご活用ください。
 ご不明点や懸念がある場合は、クラウドベンダーや専門家に相談することをお勧めします。
 当検証の情報を活用することで、読者の皆様が新たな知識やスキルを安全に身に付け、ビジネスでの活用をすすめていただければ幸いです。
 
本投稿の対象領域
本投稿の対象領域
 
 本投稿では、「データ分析基盤におけるデータ品質の管理(1)- データ品質の評価基準」を基に、実際のETLツールの品質チェック機能を利用して、品質評価基準「正確性」「完全性」「整合性」の一部について評価プロセスを実装し、その検証を行います。

検証概要

 
 想定される利用局面は、エンタープライズデータウェアハウスに顧客データを登録する際に、データ内容をチェックする機能です。概念的なフローは下図の通りです。
 
機能概要
機能概要
 
 この機能を実現するために、Amazon Web ServiceのS3とGlueの機能を使って、下図のような構成を行います。
AWS構成図
AWS構成図
 

検証内容詳細

 

検証データ仕様

 検証対象の入力データとして、次の簡易サンプルを使用します。
  • ファイル仕様
    • ファイル形式:CSV
    • 文字コード:UTF-8
    • 項目定義とルール
      • 項目名カラム名説明ルール
        顧客コードcustCode顧客を表す識別子・データ内でユニーク ・先頭アルファベット+6桁の数値
        性別gender性別をあらわす記号(F:女性、M:男性、N:無回答、その他)F,M,Nのいずれか
        lastName姓(英名)すべての文字が大文字小文字のA-Zで構成される
        firstName名(英名)すべての文字が大文字小文字のA-Zで構成される
        生年月日birthDate生年月日日付の型、1900/01/01以降の値
        都道府県コードprefCode居住地の都道府県コード参照データ「都道府県」に存在する値
    • データ内容  データ内容は下表のとおりです。上記ルールに基づくエラー値は黄色いセルと赤い文字で表しています。
 

データ品質品質チェックのジョブ

 検証用に作成したジョブのフローは次の通りです。
 上記の図中の「品質評価」の中で、次のような品質チェックの定義を行っています。この定義は、「データ品質定義言語 (DQDL)」に従って行います。DQDLの定義内容は次の通りです。
 

実行結果

上記のジョブの実行により、次の3つのファイルが出力されました。
  1. エラーデータ 品質チェックの結果、問題が認められたため、運用者などにより対応が必要なデータとなります。結果のうち1件を取り出します。
      • DataQualityEvaluationResult(3行目) 値”Failed”により、このレコードには何らかのエラーがあると評価されました。
      • DataQualityRulesFail(6行目) エラーの原因となったチェックルールを表しています。 例えば、「"custCode": "AAAA003"」は、顧客コードのルールである「先頭アルファベット+6桁の数値」に違反しています。
      • DataQualityRulesPass(12行目) このレコードはエラーとなりましたが、これらのルールには則っていることを表しています。
  1. 正常データ 品質チェックの結果、問題が認められなかったため、このあとのデータウェアハウスやデータマートへの連携対象となるデータです。
      • DataQualityEvaluationResult(3行目) 値”Passed”により、このレコードにはエラーがないことを表しています。
       
  1. 結果のサマリ 実行結果のサマリは次の通り出力されます。 指定した各ルールに対して、合格した割合を表しています。

    まとめ

     
     本稿では、実際のETLサービスを利用して一部のデータ品質評価プロセスを検証しました。AWS Glueの中のData Qualityは新しい機能ですが、今回の検証では実装していないデータ品質評価プロセスを実現する機能も備わっていることがわかりました。これにより、エンタープライズDWHの実現において、データ品質評価プロセスの実装に関してもAWS Glueが有力な選択肢の一つであると感じました。
     検証時には以下の点が気になりましたが、今後改善されることが期待されます。
    • ルール定義時に日本語の項目名が指定不可
    • 一部の機能ノードが正常に動作しない現象
    • ルールを事前に定義して再利用できるようになると便利。