2024年5月9日

【Google Cloud】Dataplexによるデータファブリックな環境検証(データ編成・検出・品質編)


Content
こんにちは。Google Cloud研究開発チームです。

今回は、Google Cloud Dataplex でどんなことができるのか調査しました。
このデータ編成・検出・品質編では、Dataplex機能のデータ編成、検出・検索、品質について説明します。

 

データ編成について

レイク・ゾーンについて

レイク・ゾーンで、データを種類や用途で階層的にグループ分けすることができます。
また、複数にまたがるプロジェクトのBigQueryデータセットやGCSバケットをまとめることができ、分散しているデータを一元管理するのにも役立ちます。

階層の上位から レイク>ゾーン>アセット

用語 説明
レイク 複数のゾーンを含むことが可能。組織全体のデータや特定部門のデータなどをまとめることができる
ゾーン レイク内のサブセット。データの種類や用途に基づいてデータをグループ化するために使用される。
アセット ゾーン配下に構成。BigQueryデータセットやCloud Storageバケットへのマッピングを定義する。
別プロジェクトにあるデータもアセットして単一ゾーンにマッピングできる。

階層構成のイメージ
レイク :青い箱  ex)社内データ、顧客データ
ゾーン :赤い箱  ex)人事データ、顧客情報
アセット:実データ ex)従業員マスタ、勤怠データ

階層構成の作成

まずはレイクを作成します。
Dataplex画面で、「レイクの管理」→「管理」→「✙ 作成」を押下して、「新しいレイクの作成」画面を開きます。
表示名、ID、リージョンを指定して、「作成」を押下します。

レイクが作成されました。
次に作成したレイクに対し、ゾーンの追加を行います。
レイクから、「✙ゾーンを追加」を押下し、「新しいゾーンの作成」画面を開きます。
表示名、ID、タイプを指定し、「作成」を押下します。

ゾーンが作成されました。

次は作成したゾーンにアセットを追加します。
ゾーンから、「✙アセットを追加」を押下し、「アセットの追加」画面を開きます。

今回はBigQueryデータセットとGCSバケットを追加します。

BigQueryデータセットの追加
表示名、IDを指定し、Datasetを「参照」から選択します。

続けて、アセットを追加する場合は「ADD AN ASSET」を押下します。

GCSバケットの追加
同様に、表示名、IDを指定し、バケットを「参照」から選択します。

アセットを追加し終わったら、「続行」を押下し、「Review assets」で「送信」を押下します。

アセットが作成されました。

これにより階層構成ができました。

また、レイク・ゾーンでは、権限継承が可能でアクセス制御を効率化することができます。
上位のレイク、ゾーンで付与された権限は、その配下のリソースに対しても権限が継承されます。

データ検出・検索について

検出

検出では、データレイクのデータからメタデータをスキャンして抽出し、分析、検索、探索のために Dataproc Metastore、BigQuery、Data Catalog に登録します。
具体的には次の処理を行います。

  • アセットに関連付けられているデータをスキャンします。
  • 構造化ファイルと半構造化ファイルをテーブルにグループ化します。
  • テーブル名、スキーマ、パーティション定義などの技術的なメタデータを収集します。

検出の設定は新しいゾーンまたはアセットを作成すると、検出はデフォルトで有効になります。ゾーンまたはアセットのレベルで検出を無効にできます。
ゾーンまたはアセットを作成する際に、ゾーンレベルで検出設定を継承するか、アセットレベルで検出設定をオーバーライドするかを選択できます。

検索

検索では次のデータアセットを検索できます。

  • Analytics Hub にリンクされたデータセット。
  •  BigQuery のデータセット、テーブル、ビュー、モデル
  •  Data Catalog のタグ テンプレート、エントリ グループ、カスタム エントリ。
  •  Dataplex のレイク、ゾーン、テーブル、ファイルセット
  •  Dataproc Metastore のサービス、データベース、テーブル
  • Pub/Sub データ ストリーム
  •  Data Catalog に接続されている、エンタープライズ データサイロ内のアセット。
  • Bigtable のインスタンス、クラスタ、テーブル(列ファミリーの詳細を含む)
  •  Vertex AI モデルとデータセット
  •  Spanner のインスタンス、データベース、テーブル、ビュー

 

データ品質について

Dataplexの中で「データ品質」に関する機能は、3つあります。
・データ品質管理
├①自動データ品質
└②データ品質タスク
・データプロファイリング
└③データプロファイリング

「データ品質管理」としては、①、②の2つがありますが、公式ドキュメントでは最新の組み込みデータ品質管理機能である①の使用が推奨されておりますので、
以下では、①、③の詳細について記載いたします。

 

①自動データ品質

<概要>

  • 品質要件を定義し、その定義に基づいてデータを検証します
  • データが品質要件に満たしていない場合は、アラートを設定することができ、データ品質の低下を検知することができます

<手順>
「自動データ品質」を利用するための主な手順は以下です。

(1)必要な権限を付与する

(2)品質要件を定義する

  • 検証したい品質要件(データの期待値)を定義します
  • 品質要件には、組み込みのルール、SQLを使用した独自のルール、「③データプロファイリング」を使用したルールのいずれかを使用することができます
  • 組み込みのルールの一例としては、例えば、「Range Check(範囲チェック)」があり、データが設定した最小値と最大値の間にあるかどうかを検証するイメージです

(3)「データ品質スキャン」を作成する

  • ここでは、スキャンのオプションや、実行オプション、(2)で定義した品質要件のルールなどを設定します

(4)「データ品質スキャン」を実行する

(5)実行結果を活用する

  • 実行結果は、Dataplex上から確認することができます
  • ログ情報を使用して、アラートを設定し、データ品質の低下を検知することもできます
  • また、結果をBigQueryのテーブルにエクスポートするよう設定することで、独自のダッシュボード構築にも活用できます

 

③データプロファイリング

<概要>

  • テーブル内の列の統計情報を取得することができます
  • 取得した統計情報は、より効率的なデータ分析や、「①自動データ品質」の品質要件のルールとして活用することができます

<手順>
「データプロファイリング」を利用するための主な手順は以下です。

(1)必要な権限を付与する

(2)「データプロファイルスキャン」を作成する

  • ここでは、「①自動データ品質」と同じく、スキャンのオプションや、実行オプションなどを設定します

(3)「データプロファイルスキャン」を実行する

(4)実行結果を活用する

  • データプロファイリングの結果には、以下の値が含まれます
  • これらの結果は、Dataplex上からはもちろん、BigQueryやData Catalogに結果を公開するよう設定することで各サービスからも確認することができます
  • また、結果をBigQueryのテーブルにエクスポートするよう設定することで、独自のダッシュボード構築にも活用できます

列の型

結果

数値の列

    • null値の割合
    • ユニークな値の割合(概算)
    • 出現回数上位10個の値
    • 平均値、標準偏差、最小値、近似下位四分位、近似中央値、近似上位四分位、最大値

文字列の列

    • null値の割合
    • ユニークな値の割合(概算)
    • 出現回数上位10個の値
    • 文字列の平均、最小、最大の長さ

その他のネストされていない列

    • null値の割合
    • ユニークな値の割合(概算)
    • 出現回数上位10個の値

ネストされた列または複雑なデータ型の列または繰り返しモードの列

    • null値の割合

2024年5月9日 【Google Cloud】Dataplexによるデータファブリックな環境検証(データ編成・検出・品質編)

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら