チェックポイント
Create a lake, zone, and asset
/ 20
Query BigQuery table to review data quality
/ 20
Create and upload a data quality specification file
/ 20
Define and run a data quality job
/ 20
Review data quality results in BigQuery
/ 20
Dataplex でデータ品質を評価する
GSP1158
概要
Dataplex は、データレイク、データ ウェアハウス、データマートに分散したデータの一元的な検出、管理、モニタリング、統制を実現し、大規模な分析を支援するインテリジェントなデータ ファブリックです。
Dataplex の有用な機能は、BigQuery テーブルや Cloud Storage ファイルなどの Dataplex アセットに対してデータ品質チェックを定義して実行できることです。Dataplex のデータ品質タスクを使用すると、データ プロダクション パイプラインの一部であるデータの検証、一連の基準に対するデータ品質の定期的なモニタリング、規制要件に対応するためのデータ品質レポートの作成によって、データ品質チェックを日常のワークフローに統合することができます。
このラボでは、カスタムのデータ品質仕様ファイルを作成し、それを使用して BigQuery データに対するデータ品質ジョブを定義および実行することにより、Dataplex を使用してデータ品質を評価する方法を学習します。
演習内容
- Dataplex のレイク、ゾーン、アセットを作成する
- BigQuery テーブルに対してクエリを実行してデータ品質を確認する
- データ品質仕様ファイルを作成してアップロードする
- データ品質ジョブを定義して実行する
- データ品質ジョブの結果を確認する
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
Dataproc API を有効にする
-
Google Cloud コンソールの上部の検索バーに「Cloud Dataproc API」と入力します。
-
[マーケットプレイス] の下に表示された検索結果の Cloud Dataproc API をクリックします。
-
[有効にする] をクリックします。
タスク 1. Dataplex でレイク、ゾーン、アセットを作成する
データ品質タスクを定義して実行するには、まず Dataplex リソースを作成する必要があります。
このタスクでは、e コマースの顧客情報を保存するための新しい Dataplex レイクを作成し、そのレイクに未加工ゾーンを追加してから、事前に作成された BigQuery データセットをそのゾーン内の新しいアセットとしてアタッチします。
レイクを作成する
- Google Cloud コンソールのナビゲーション メニュー()で、[分析] > [Dataplex] に移動します。
「新しい Dataplex エクスペリエンスへようこそ
」というメッセージが表示されたら、[閉じる] をクリックします。
-
[レイクの管理] で [管理] をクリックします。
-
[レイクを作成] をクリックします。
-
必要な情報を入力して新しいレイクを作成します。
プロパティ | 値 |
---|---|
表示名 | Ecommerce Lake |
ID | デフォルト値のままにします。 |
リージョン |
上記以外はデフォルト値のままにします。
- [作成] をクリックします。
レイクが作成されるまで 3 分ほどかかる場合があります。
ゾーンをレイクに追加する
-
[管理] タブでレイクの名前をクリックします。
-
[ゾーンを追加] をクリックします。
-
必要な情報を入力して新しいゾーンを作成します。
プロパティ | 値 |
---|---|
表示名 | Customer Contact Raw Zone |
ID | デフォルト値のままにします。 |
タイプ | 未加工ゾーン |
データのロケーション | リージョン |
上記以外はデフォルト値のままにします。
たとえば、[検出の設定] の下の [メタデータの検出を有効にする] はデフォルトで有効になっており、許可されたユーザーはこのゾーン内のデータを検出できます。
- [作成] をクリックします。
ゾーンが作成されるまで 2 分ほどかかる場合があります。
アセットをゾーンにアタッチする
-
[ゾーン] タブでゾーンの名前をクリックします。
-
[アセット] タブで [アセットを追加] をクリックします。
-
[アセットを追加] をクリックします。
-
必要な情報を入力して新しいアセットをアタッチします。
プロパティ | 値 |
---|---|
タイプ | BigQuery データセット |
表示名 | Contact Info |
ID | デフォルト値のままにします。 |
データセット |
|
上記以外はデフォルト値のままにします。
-
[完了] をクリックします。
-
[続行] をクリックします。
-
[検出の設定] で [継承] を選択して、検出の設定をゾーンレベルから継承し、[続行] をクリックします。
-
[送信] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 2. BigQuery テーブルに対してクエリを実行してデータ品質を確認する
前のタスクで、このラボ用に事前に作成された customers という名前の BigQuery データセットから新しい Dataplex アセットを作成しました。このデータセットには、contact_info という名前のテーブルがあり、架空の e コマース企業の顧客の未加工連絡先情報が含まれています。
このタスクでは、このテーブルに対してクエリを実行し、データ品質ジョブにチェックとして含めることができる潜在的なデータ品質の問題を特定します。また、後のタスクでデータ品質ジョブの結果を保存するために使用できる、別の事前作成データセットも特定します。
-
Google Cloud コンソールのナビゲーション メニュー()で、[BigQuery] > [SQL ワークスペース] に移動します。
-
[エクスプローラ] ペインで、プロジェクト ID の横にある矢印を開き、内容を一覧表示します。
このゾーンを管理するために Dataplex によって作成された customer_contact_raw_zone データセットに加えて、このラボ用に事前に作成された 2 つの BigQuery データセットがあります。
- customers
- customers_dq_dataset
customers という名前のデータセットには、contact_info という名前のテーブルが 1 つあり、顧客の連絡先情報が含まれています(お客様 ID、名前、メールなど)。このラボ全体を通して、データ品質の問題についてはこのテーブルを確認します。
customers_dq_dataset という名前のデータセットにはテーブルは含まれていません。後のタスクでデータ品質ジョブを定義するときに、このデータセットを、データ品質ジョブの結果を含む新しいテーブルの宛先として使用します。
- SQL エディタで、[クエリを新規作成] をクリックします。次のクエリを貼り付けて、[実行] をクリックします。
このクエリは、元のテーブルからレコードを 50 件選択し、結果のお客様 ID ごとにレコードを並べ替えます。
- [結果] ペインの結果をスクロールして確認します。
レコードの中には、お客様 ID がなかったり、メールが正しくないものがあり、顧客の注文を管理するのが難しくなる場合があるのでご注意ください。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 3. データ品質仕様ファイルを作成してアップロードする
Dataplex のデータ品質チェック要件は、CloudDQ YAML 仕様ファイルを使用して定義されます。YAML 仕様ファイルは、作成後、データ品質ジョブがアクセス可能な Cloud Storage バケットにアップロードされます。
YAML ファイルには、次の 4 つの主要セクションがあります。
- 実行するルールのリスト(事前定義済みルールまたはカスタマイズされたルール)
- 検証のためにデータのサブセットを選択する行フィルタ
- 定義されたルールをテーブルに適用するルール バインディング
- YAML ファイルに含めることができるルールのタイプを指定するオプションのルール ディメンション
このタスクでは、指定した BigQuery テーブルで null であるお客様 ID とメールを特定するデータ品質チェック用の新しい YAML 仕様ファイルを定義します。ファイルを定義したら、後でデータ品質ジョブを実行するタスクで使用するために、事前に作成した Cloud Storage バケットにアップロードします。
データ品質仕様ファイルを作成する
- Cloud Shell で次のコマンドを実行して、空のデータ品質仕様のファイルを新規に作成します。
- 次のコードを貼り付けます。
- コードを確認して、このファイルで定義されている 2 つの主要なデータ品質ルールを特定します。
dq-customer-raw-data.yaml
ファイルは、プロジェクト ID、リージョン、Dataplex レイクとゾーンの名前など、Dataplex リソースを特定するための主要なパラメータで始まります。
次に、許可されるルールのディメンションと 2 つの主要ルールを指定します。
- NOT_NULL のルールは、null 値などの完全性のディメンションを参照します。
- VALID_EMAIL のルールは、無効な値などの適合性のディメンションを参照します。
最後に、データ品質検証用のルール バインディングを使用して、ルールがエンティティ(テーブル)と列にバインディングされます。
- VALID_CUSTOMER という名前の最初のルール バインディングは、NOT_NULL ルールを contact_info テーブルの id 列にバインドし、ID 列に NULL 値があるかどうかを検証します。
- VALID_EMAIL_ID という名前の 2 番目のルール バインディングは、VALID_EMAIL ルールを contact_info テーブルの email 列にバインドし、有効なメールをチェックします。
-
Ctrl+X
を押してからY
を押し、ファイルを保存して閉じます。
Cloud Storage にファイルをアップロードする
- Cloud Shell で次のコマンドを実行して、このラボ用に作成された Cloud Storage バケットにファイルをアップロードします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 4. Dataplex でデータ品質ジョブを定義して実行する
データ品質プロセスは、データ品質仕様の YAML ファイルを使用してデータ品質ジョブを実行し、BigQuery データセットに書き込まれるデータ品質指標を生成します。
このタスクでは、前のタスクで Cloud Storage にアップロードしたデータ品質仕様の YAML ファイルを使用して、データ品質ジョブを定義して実行します。ジョブを定義するときに、customer_dq_dataset という名前の事前に作成された BigQuery データセットも指定して、データ品質の結果を保存します。
-
Google Cloud コンソールのナビゲーション メニュー()で、[分析] > [Dataplex] に移動します。
-
[レイクの管理] で、[処理] をクリックします。
-
[タスクを作成] をクリックします。
-
[データ品質を確認する] で、[タスクを作成] をクリックします。
-
必要な情報を入力して新しいデータ品質ジョブを作成します。
プロパティ | 値 |
---|---|
Dataplex レイク | ecommerce-lake |
表示名 | Customer Data Quality Job |
ID | デフォルト値のままにします。 |
Select GCS file |
|
BigQuery データセットを選択 |
|
BigQuery テーブル | dq_results |
ユーザー サービス アカウント | Compute Engine のデフォルトのサービス アカウント |
上記以外はデフォルト値のままにします。
Compute Engine のデフォルトのサービス アカウントは、適切な IAM のロールと権限を持つように、このラボ用に事前に設定されていることに注意してください。詳細については、Dataplex のドキュメント サービス アカウントを作成するをご覧ください。
-
[続行] をクリックします。
-
[開始] で、[今すぐ] を選択します。
-
[作成] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 5. BigQuery でのデータ品質の結果の確認
このタスクでは、customers_dq_dataset のテーブルを確認して、お客様 ID の値がないレコードや、メールの値が無効なレコードを特定します。
-
Google Cloud コンソールのナビゲーション メニュー()で、[BigQuery] > [SQL ワークスペース] に移動します。
-
[エクスプローラ] ペインで、プロジェクト ID の横にある矢印を開き、内容を一覧表示します。
-
customer_dq_dataset データセットの横にある矢印を開きます。
-
dq_summary テーブルをクリックします。
-
[プレビュー] タブをクリックして結果を確認します。
dq summary テーブルは、データ品質仕様ファイルの 2 つのルールに準拠していないことが特定されたレコードの数など、全体的なデータ品質に関する有用な情報を提供します。
-
failed_records_query という名前の最後の列までスクロールします。
-
最初の行の下矢印をクリックしてテキストを開き、VALID_EMAIL ルールの結果のクエリ全体を表示します。
このクエリはとても長く、ORDER BY _dq_validation_rule_id
で終了していることに注意してください。
- [クエリを新規作成] をクリックします。クエリを SQL エディタにコピーした貼り付け、[実行] をクリックします。
クエリの結果は、contact_info テーブルのメールの値が有効ではないことを示しています。
- VALID_CUSTOMER ルールの結果のクエリを含む 2 番目のセルについて、ステップ 7~8 を繰り返します。
このクエリの結果は、contact_info テーブルに ID 値が欠落しているレコードが 10 件あることを示しています。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
お疲れさまでした
カスタムのデータ品質仕様ファイルを作成し、それを使用して BigQuery テーブルに対してデータ品質ジョブを実行することで、Dataplex を使用してデータ品質を評価しました。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 7 月 4 日
ラボの最終テスト日: 2023 年 7 月 4 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。