はじめに
ご覧いただいた方の中に、bigqueryに格納されているデータの中に不正なデータや重複が発生している可能性があってもすぐに検知する方法がないと悩まれている方もいらっしゃるかと思います。
本記事では、GCPに搭載されているDataplexを用いたデータの完全性をチェックする方法について記載しております。
記事の対象者
- bigqueryの管理を担当していてデータの完全性を担保したい方
結論
- Dataplexを用いることで以下のデータチェックなどを行うことが可能となります
- NULL値のチェック
- 一意性チェック
- 正規表現対象チェック
- 範囲チェック
目次
- Dataplexの設定
- 実行後の確認方法
- おわりに
Dataplexの設定について
Dataplex実行設定
実際にDataplexの設定を進めていきたいと思います。
まず始めに、コンソール画面から「Dataplex」-「データ品質」を選択してください。
画面上部の「データ品質スキャンを作成」を選択します。
スキャンの定義を作成していきます。
「表示名」はDataplexの管理画面上で表示される名称になります。分かりやすい名称にしておきましょう。
※「ID」については、表示名に基づいて自動設定されます。
「スキャンするテーブル」には、データの完全性を確認したいテーブルを指定してください。指定したテーブルが格納されているリージョンについてもこの場で設定します。
次にフィルターやスケジュールなどの設定を行います。
「フィルター」に関しては、必要があれば設定してください。SQL文を記載する要領で問題ありません。
特定期間で繰り返し実行したい場合は、「スケジュール」を設定します。もし、手動での実行で問題ない場合は、オンデマンドで設定してください。
上記まではDataplexを実行するための設定となっております、
ルール設定
ここからは実際にテーブルに格納されているデータをチェックするための設定を行います。
まずは、「組み込みルールの種類」を選択します。
「ルールの種類を選択」からチェックを行いたいルールを選択します。
今回は「NULL値チェック」、「一意性チェック」、「範囲チェック」を選択します。
どの項目でどのルールを適用してチェックを行いたいかを選択します。
※全てを選択する必要はありません。
選択が完了したらルール設定も以上となります。
※「範囲チェック」に関しては、チェックを行いたい範囲を設定する必要があるため、編集から以下のように最大・最小値を設定する必要があります。
全ての設定を行い、「作成」ボタンを押下することで完了となります。
実行後の確認
一覧画面より作成したDataplexを確認することが可能となります。
「前回の実行」時刻を確認して予定通りのスケジュールで実行されていることを確認します。
詳細を開くと画面上部に設定したルール違反したかどうかを確認することが出来ます。
※今回の場合は、ルール違反が発生している状態となります。
詳細分析を選択するとどのルールで違反を起こしているのかを確認することが出来ます。
※今回の場合は、「id」にて一意性違反を検知した形となります。
どんなデータが違反を引き起こしているかは、下図の赤枠を選択して
「失敗したレコードを取得するクエリ」を取得することで確認することが可能となります。
おわりに
Dataplexでどんなことが出来るのかを一部ですが、紹介させていただきました。
記載出来ておりませんが、他のルールを指定することで様々な観点からデータのチェックを行うことが可能となりますので、ご活用下さい。
本記事が、どなたかの役に立てたのであれば幸いです。
拝見頂き、ありがとうございました。