DataplexでBigQueryのデータチェックを自動化する

 2025.09.30 Takahisa Harunari

 

        

はじめに

BigQueryのデータチェックを自動で実行したい場合に Dataplex Universal Catalog の自動データ品質機能を使用することで、データチェックの定義・スケジューリング・結果通知まで容易に作成することが可能です。本記事ではDataplexの自動データ品質機能(データ品質スキャン)を設定する方法について解説します。

データ品質スキャンの作成手順

データ品質スキャンの作成手順の流れは次の通りです。

  • スキャンの定義
  • データ品質ルールの追加
  • スキャン結果の通知設定(省略可)

スキャンの定義

Google Cloud コンソールの BigQuery の [メタデータのキュレーション] ページで、[データのプロファイリングと品質] タブを選択した後、[データ品質スキャンの作成] をクリックします。



また、チェック対象テーブルの[データ品質]タブを選択して、[データ品質スキャンの作成] をクリックすることも可能です。

[スキャンの定義] ウィンドウで、次のフィールドに入力します。

  1. (省略可)表示名を入力します。
  2. ID を入力します。最初の文字は英字小文字にする必要があり、その後の文字はすべてハイフン、英字小文字、数字にする必要があります。
  3. (省略可)説明を入力します。
  4. [テーブル] フィールドで、[参照] をクリックします。スキャンするテーブルを選択し、[選択] をクリックします。
  5. [範囲] フィールドで、[インクリメンタル] または [データ全体] を選択します。
    増分データに対してスキャンしたい場合は[インクリメンタル] を選択します。[タイムスタンプ列] フィールドで、増分レコードの識別に使用できるDATE 型または TIMESTAMP 型の列を選択します。
  6. (任意)データをフィルタするには、[行のフィルタリング] チェックボックスをオンにします。SQL の WHERE 句の一部として使用できる有効な SQL 式で指定します。複数の列条件を組み合わせることもできます。例: col1 >= 0 AND col2 < 10
  7. (任意)データをサンプリングするには、[サンプリング サイズ] リストでサンプリング率を選択します。
  8. (任意)データ品質スキャンの結果を Dataplex Universal Catalog メタデータとして公開するには、[BigQuery と Dataplex Catalog に結果を公開する] チェックボックスをオンにします。最新のスキャン結果は、ソーステーブルの BigQuery ページと Dataplex Universal Catalog ページの [データ品質] タブで表示できます。
  9. [スケジュール] セクションで、次のいずれかのオプションを選択します。
    ・繰り返し: スキャンの実行頻度と時間を指定します。実行頻度は1時間ごと、毎日、毎週、毎月、カスタムのいずれかを指定します。[カスタム] を選択した場合は、cron 形式を使用してスケジュールを指定します。
    ・オンデマンド: スキャンをオンデマンドで実行します。
  10. [続行] をクリックします。

データ品質ルールの追加

[データ品質ルール] ウィンドウで、このデータ品質スキャン用に構成するルールを定義します。

[ルールを追加] をクリックし、次のいずれかのオプションを選択します。

<選択オプション>
  • プロフィールに基づく推奨事項: 既存のデータ プロファイリング スキャンに基づいて、推奨事項からルールを作成します。
  • 組み込みルールの種類: 次の事前定義ルールを選択してルールを作成します。
    NULLチェック/値セットチェック/正規表現チェック/一意性チェック/範囲チェック(最小~最大)/集計統計チェック(平均/最小/最大いずれかの範囲チェック) (参考)事前定義ルール
  • SQL行チェックルール: 各行に適用するカスタムSQLルールを作成します。
  • SQL集計チェックルール: テーブルに適用するカスタムSQLルールを作成します。
  • SQLアサーションルール: 不適合データの存在を確認するカスタムSQLアサーションルールを作成します。

注:SQL行チェックルールとSQL集計チェックルールは適合すべき条件を定義しますが、SQLアサーションルールは、不適合データの条件を定義することにご注意ください。

今回はSQL行チェックルールを選択して解説します。[Add/edit SQL row check rule] ウィンドウで、次のフィールドに入力します。

  1. [ディメンション] で、ディメンションを 1 つ選択します。(完全性/精度/一貫性/有効性/一意性/鮮度/ボリューム) (参考)ディメンションの詳細
  2. (省略可)モニタリングとアラートに使用するルール名
  3. (省略可)ルールの説明
  4. [合格のしきい値] で、チェックに合格する必要があるレコードの割合を選択します。
  5. [列名] で列を選択します。
  6. [SQL 式を指定] フィールドに、満たすべき条件をSQL式で入力します。 (参考)サポートされているカスタムSQLルール
  7. [Add] をクリックします。

この手順を繰り返して、データ品質スキャンにルールを追加します。完了したら、[続行] をクリックします。

スキャン結果の通知設定(省略可)

[追加設定] ウィンドウで、スキャン結果のエクスポートや通知レポートを設定できます。

  1. (省略可)スキャン結果を BigQuery のテーブルにエクスポートする場合、[スキャン結果を BigQuery テーブルにエクスポートする] セクションで、スキャン結果を保存する BigQuery データセット及びテーブルを指定します。指定したテーブルが存在しない場合は、Dataplex Universal Catalog によって作成されます。
    なお、複数のデータ品質スキャンで同じ結果テーブルを使用できます。
  2. (省略可)ラベルを追加します。
  3. (省略可)データ品質スキャンジョブのステータスと結果に関するアラートをメールで通知する場合、[通知レポート] セクションで  [+メール ID を追加] をクリックし、最大5つのメールアドレスを入力します。
    次に通知レポートのトリガーを選択します。(複数選択可)
    ・品質スコア(<=): ジョブが成功し、データ品質スコアが指定された目標スコアより低い場合にレポートを送信します。0~100 のターゲット品質スコアを入力します。
    ・ジョブの失敗: データ品質の結果に関係なく、ジョブ自体が失敗するとレポートが送信されます。
    ・ジョブの完了(成功または失敗): データ品質の結果に関係なく、ジョブが終了するとレポートが送信されます。
    注:[ジョブの失敗]のみを選択した場合、データ品質スキャンの結果がNGでもレポートは送信されません。[品質スコア(<=)]との併用や、[ジョブの完了(成功または失敗)]の選択を検討してください。
  4. [作成] をクリックします。

作成手順は以上です。

オンデマンドの場合、スキャンが作成されたら[今すぐ実行] をクリックすることで、いつでもスキャンを実行できます。

データ品質スキャン結果NGの場合、次のようなメールで通知されます。[Data Quality Status]は Failed となっています。なお、トリガーは[ジョブの完了]を選択しています。

データ品質スキャン結果OKの場合、次のようなメールで通知されます。[Data Quality Status]は Passed となっています。なお、トリガーは[ジョブの完了]を選択しています。

コンソールでは次のように[結果を表示]をクリックすることで確認できます。

データ品質スキャンの結果がNGとなった場合、Dataplex Universal Catalog は[失敗したレコードを取得するクエリ]を生成します。このクエリを BigQuery Studio で実行すればルールと一致しなかったレコードを確認できます。

まとめ

Dataplex Universal Catalog の自動データ品質機能を使用したBigQueryのデータチェック自動化を解説しました。コンソールで設定できるので容易に作成することが可能です。なお、今回はコンソールで作成する方法を記載しましたが、コードで定義することでパイプラインに組み込むことも可能です。

データ品質スキャンの結果を Dataplex Universal Catalog メタデータとして公開した場合、データの品質を誰もが簡単に確認することができるようになります。また、BigQuery にエクスポートしてチェック結果を分析することで、データ品質の劣化を早期に検知したり、品質改善後の効果を定量的に評価することも可能です。

Dataplexは、BigQueryを含むGoogle Cloud上のデータ資産の品質を管理するための強力なツールです。本記事で紹介した手順に従うことで、BigQueryデータの自動データチェックを効果的に実装し、データドリブンな意思決定の信頼性を高めることができます。

参考

Dataplex Universal Catalog ガイド 自動データ品質の概要

Dataplex Universal Catalog ガイド 自動データ品質を使用する

BigQuery ガイド データ品質の問題をスキャンする

Google Cloud、Google Workspace に関するご相談はXIMIXへ!

Google Cloud、Google Workspaceに関する お問い合わせはこちら
XIMIX(サイミクス)は商標登録出願中です


DataplexでBigQueryのデータチェックを自動化する

BACK TO LIST

新規CTA

Recent post最新記事

ブログ無料購読のご案内

本ブログの更新案内をメールで
お届けします。

VIEW MORE