arrow_back

Dataplex でデータ品質を評価する

ログイン 参加
700 以上のラボとコースにアクセス

Dataplex でデータ品質を評価する

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP1158

Google Cloud セルフペース ラボのロゴ

概要

Dataplex Universal Catalog は、データレイク、データ ウェアハウス、データマートに分散したデータの一元的な検出、管理、モニタリング、統制を実現し、大規模な分析を支援するインテリジェントなデータ ファブリックです。

Dataplex Universal Catalog の有用な機能の一つは、BigQuery テーブルや Cloud Storage ファイルなどの Dataplex Universal Catalog アセットに対してデータ品質チェックを定義して実行できることです。Dataplex のデータ品質タスクを使用すると、データ プロダクション パイプラインの一部であるデータの検証、一連の基準に対するデータ品質の定期的なモニタリング、規制要件に対応するためのデータ品質レポートの作成を行うことで、データ品質チェックを日常のワークフローに統合することができます。

このラボでは、カスタムのデータ品質仕様ファイルを作成し、それを使用して BigQuery データに対するデータ品質ジョブを定義および実行することにより、Dataplex Universal Catalog を使用してデータ品質を評価する方法を学習します。

演習内容

  • Dataplex Universal Catalog でレイク、ゾーン、アセットを作成する
  • BigQuery テーブルに対してクエリを実行してデータ品質を確認する
  • データ品質仕様ファイルを作成してアップロードする
  • データ品質ジョブを定義して実行する
  • データ品質ジョブの結果を確認する

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

Dataproc API を有効にする

  1. Google Cloud コンソールのタイトルバーにある [検索] フィールドに「Cloud Dataproc API」と入力し、検索結果から [Cloud Dataproc API] をクリックします。

  2. まだ有効になっていない場合は、[有効にする] をクリックします。

タスク 1. Dataplex でレイク、ゾーン、アセットを作成する

データ品質タスクを定義して実行するには、Dataplex Universal Catalog リソースが必要です。

このタスクでは、e コマースの顧客情報を保存するための新しい Dataplex Universal Catalog レイクを作成し、そのレイクに未加工データ用ゾーンを追加してから、事前に作成された BigQuery データセットをそのゾーン内の新しいアセットとしてアタッチします。

レイクを作成する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で [すべてのプロダクトを表示] > [分析] > [Dataplex Universal Catalog] の順に選択します。

新しい Dataplex Universal Catalog エクスペリエンスへようこそ」というメッセージが表示されたら、[閉じる] をクリックします。

  1. [レイクの管理] で [管理] をクリックします。

  2. [レイクを作成] をクリックします。

  3. 次に示す必要な情報を入力して新しいレイクを作成します。他のフィールドはデフォルト値のままにしておきます。

プロパティ
表示名 Ecommerce Lake
リージョン
  1. [作成] をクリックします。

レイクが作成されるまで 3 分ほどかかる場合があります。

ゾーンをレイクに追加する

  1. [管理] タブでレイクの名前をクリックします。

  2. [ゾーンを追加] をクリックします。

  3. 次に示す必要な情報を入力して新しいゾーンを作成します。他のフィールドはデフォルト値のままにしておきます。

プロパティ
表示名 Customer Contact Raw Zone
タイプ 未加工データ用ゾーン
データのロケーション リージョン
  1. [作成] をクリックします。

ゾーンが作成されるまで 2 分ほどかかる場合があります。

注: ゾーンのステータスが [有効] になったら、次のタスクを行うことができます。

アセットをゾーンにアタッチする

  1. [ゾーン] タブで、[Customer Contact Raw Zone] をクリックします。

  2. [アセット] タブで [アセットを追加] をクリックします。

  3. [アセットを追加] をクリックします。

  4. 次に示す必要な情報を入力して新しいアセットをアタッチします。他のフィールドはデフォルト値のままにします。

プロパティ
タイプ BigQuery データセット
表示名 Contact Info
データセット .customers
  1. [完了] をクリックします。

  2. [続行] をクリックします。

  3. [検出の設定] で [継承] を選択して、検出の設定をゾーンレベルから継承し、[続行] をクリックします。

  4. [送信] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Dataplex Universal Catalog でレイク、ゾーン、アセットを作成する

タスク 2. BigQuery テーブルに対してクエリを実行してデータ品質を確認する

このラボでは、事前に作成された 2 つの BigQuery データセットを使用します。

  • customers: contact_info という名前のテーブルが 1 つあり、顧客の連絡先情報が含まれています(お客様 ID、名前、メールなど)。このラボ全体を通して、データ品質の問題についてはこのテーブルを確認します。

  • customers_dq_dataset: テーブルは含まれていません。後のタスクでデータ品質ジョブを定義するときに、このデータセットを、データ品質ジョブの結果を含む新しいテーブルの宛先として使用します。

このタスクでは、customers データセットに対してクエリを実行し、データ品質ジョブにチェックとして含めるデータ品質の問題を特定します。また、後のタスクでデータ品質ジョブの結果を保存するために使用する customers_dq_dataset データセットも指定します。

BigQuery コンソールを開く

  1. Google Cloud コンソールで、ナビゲーション メニュー > [BigQuery] を選択します。

[Cloud コンソールの BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスには、クイックスタート ガイドとリリースノートへのリンクが表示されます。

  1. [完了] をクリックします。

BigQuery コンソールが開きます。

contact_info テーブルに対してクエリを実行する

  1. [エクスプローラ] ペインで、プロジェクト ID の横にある展開矢印()をクリックして、内容を表示します。

次の 3 つのデータセットが表示されます。

  • Customer Contact Raw Zone
  • customers
  • customers_dq_dataset
  1. SQL エディタで、SQL クエリ(+)をクリックします。次のクエリを貼り付けて、[実行] をクリックします。
SELECT * FROM `{{{project_0.project_id}}}.customers.contact_info` ORDER BY id LIMIT 50

このクエリは、元のテーブルからレコードを 50 件選択し、結果のお客様 ID ごとにレコードを並べ替えます。

  1. [結果] ペインの結果をスクロールして確認します。

    レコードの中には、お客様 ID がないもの、メールが正しくないものもあり、顧客注文の管理を困難にしている可能性があることに注目してください。

contact-info テーブル内の不完全なデータ

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery テーブルに対してクエリを実行してデータ品質を確認する

タスク 3. データ品質仕様ファイルを作成してアップロードする

Dataplex のデータ品質チェック要件は、CloudDQ YAML 仕様ファイルを使用して定義されます。YAML 仕様ファイルは、作成後、データ品質ジョブがアクセス可能な Cloud Storage バケットにアップロードされます。

YAML ファイルには、次の 4 つの主要セクションがあります。

  • 実行するルールのリスト(事前定義済みルールまたはカスタマイズされたルール)
  • 検証のためにデータのサブセットを選択する行フィルタ
  • 定義されたルールをテーブルに適用するルール バインディング
  • YAML ファイルに含めることができるルールのタイプを指定するオプションのルール ディメンション

このタスクでは、指定した BigQuery テーブルで null であるお客様 ID とメールを特定するデータ品質チェック用の新しい YAML 仕様ファイルを定義します。また、customer_dq_dataset という名前の事前に作成された BigQuery データセットも指定して、データ品質の結果を dq_results という名前のテーブルに保存します。

ファイルを定義したら、後でデータ品質ジョブを実行するタスクで使用するために、事前に作成した Cloud Storage バケットにアップロードします。

データ品質仕様ファイルを作成する

  1. Cloud Shell で次のコマンドを実行して、空のデータ品質仕様のファイルを新規に作成します。
nano dq-customer-raw-data.yaml
  1. 次のコードをファイルに貼り付けます。
rules: - nonNullExpectation: {} column: id dimension: COMPLETENESS threshold: 1 - regexExpectation: regex: '^[^@]+[@]{1}[^@]+$' column: email dimension: CONFORMANCE ignoreNull: true threshold: .85 postScanActions: bigqueryExport: resultsTable: projects/{{{project_0.project_id | Project ID}}}/datasets/customers_dq_dataset/tables/dq_results
  1. コードを確認して、このファイルで定義されている 2 つの主要なデータ品質ルールを特定します。

dq-customer-raw-data.yaml では、次の 2 つのルールが指定されています。

  • 最初のルールは、null 値などの完全性のディメンションを参照します。
  • 2 つ目のルールは、無効な値などの適合性のディメンションを参照します。

このファイルでは、2 つのルールが特定のテーブル列にバインドされています。

  • 最初のルール バインディングは、notNullExpectation ルールを contact_info テーブルの id 列にバインドし、しきい値を 100% に設定します。これにより、ID 列に NULL 値があるかどうかが検証されます。
  • 2 番目のルール バインディングは、regexExpectation ルールを contact_info テーブルの email 列にバインドし、しきい値を 85% に設定します。これにより、メールアドレスの有効性をチェックします。
  1. Ctrl+X キーを押してから Y キーを押し、ファイルを保存して閉じます。

Cloud Storage にファイルをアップロードする

  • Cloud Shell で次のコマンドを実行して、ファイルを Cloud Storage バケットにアップロードします。
gsutil cp dq-customer-raw-data.yaml gs://{{{project_0.project_id | Project ID}}}-bucket

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 データ品質仕様ファイルを作成してアップロードする

タスク 4. Dataplex で自動データ品質ジョブを定義して実行する

データ品質プロセスは、データ品質仕様の YAML ファイルを使用してデータ品質ジョブを実行し、BigQuery データセットに書き込まれるデータ品質指標を生成します。

このタスクでは、Cloud Storage のデータ品質仕様 YAML ファイルを使用して、自動データ品質ジョブを定義して実行します。ジョブを定義するときに、customer_dq_dataset データセットも指定して、データ品質の結果を保存します。

  1. Cloud Shell で次のコマンドを実行して、データ品質スキャンを作成します。
gcloud dataplex datascans create data-quality customer-orders-data-quality-job \ --project={{{project_0.project_id | Project ID}}} \ --location={{{project_0.default_region | Region}}} \ --data-source-resource="//bigquery.googleapis.com/projects/{{{project_0.project_id | Project ID}}}/datasets/customers/tables/contact_info" \ --data-quality-spec-file="gs://{{{project_0.project_id | Project ID}}}-bucket/dq-customer-raw-data.yaml" 注: このラボでは、Compute Engine のデフォルトのサービス アカウントに、適切な IAM ロールと権限が事前構成されています。詳細については、Dataplex Universal Catalog のドキュメント サービス アカウントを作成するをご覧ください。
  1. コンソールに戻ります。[Dataplex Universal Catalog] が開いたままになっているはずです。

  2. [管理] で [データのプロファイリングと品質] をクリックします。

  3. [customer-orders-data-quality-job] をクリックします。

  4. [今すぐ実行] をクリックします。

注: ジョブの実行には数分かかることがあります。

ジョブが完了すると、ステータスが [1 dimension 1 rule failed] になっていることがわかります。

  1. [結果を表示] をクリックします。

email 列のデータ品質ルールは Passed ですが、id 列のデータ品質ルールは Failed になっていることに注目してください。これは、以下の理由から想定される動作です。

  • id 列のルールは、しきい値が 100%Null Check です。つまり、ルールに合格するにはすべての行に id の値が必要ですが、ここでは contact_info テーブルの id 列の 10% の行に null 値が含まれています。そのため、このルールは失敗しています。

  • email 列のルールは、しきい値が 85%Regex Check です。つまり、レコードの 15% でメール形式が無効の場合、ルールは失敗します。ここでは contact_info テーブルの email 列の行の ~10.5% が無効なメールアドレスです。したがって、このルールは合格となります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Dataplex Universal Catalog でデータ品質ジョブを定義して実行する

タスク 5. BigQuery でデータ品質の結果を確認する

このタスクでは、customers_dq_dataset のテーブルを確認して、お客様 ID の値がないレコードや、メールの値が無効なレコードを特定します。

  1. BigQuery に戻り、[エクスプローラ] ペインで、プロジェクト ID の横にある矢印を開き、内容を表示します。

  2. customer_dq_dataset データセットの横にある展開矢印をクリックします。

  3. dq_results テーブルをクリックします。

  4. [プレビュー] タブをクリックして結果を確認します。

  5. rule_failed_records_query という名前の列までスクロールします。

  6. クエリをコピーします。クエリは WITH で始まります。

  7. SQL クエリ(+)をクリックします。クエリをコピーして SQL エディタに貼り付け、[実行] をクリックします。

    クエリの結果は、contact_info テーブルの有効でないメールの値を示します。dq_validation_column_id 列の各エントリの「email」に注目してください。

    VALID_EMAIL のデータ品質の結果

  8. VALID_CUSTOMER ルールの結果のクエリを含む 2 番目のセルについて、ステップ 7~8 を繰り返します。

    このクエリの結果は、contact_info テーブルに ID 値が欠落しているレコードが 10 件あることを示しています。

    VALID_CUSTOMER のデータ品質の結果

    dq_validation_column_id 列の各エントリの「id」に注目してください。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery テーブルでデータ品質の結果を確認する

お疲れさまでした

カスタムのデータ品質仕様ファイルを作成し、それを使用して BigQuery テーブルに対してデータ品質ジョブを実行することで、Dataplex Universal Catalog を使用してデータ品質を評価しました。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 9 月 2 日

ラボの最終テスト日: 2025 年 9 月 2 日

Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。