2024年5月9日
【Google Cloud】Dataplexによるデータファブリックな環境検証(データ編成・検出・品質編)
- Category Google Cloud
今回は、Google Cloud Dataplex でどんなことができるのか調査しました。
このデータ編成・検出・品質編では、Dataplex機能のデータ編成、検出・検索、品質について説明します。
- 【Google Cloud】Dataplexによるデータファブリックな環境検証(データ編成・検出・品質編)※本記事
- 【Google Cloud】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のテーブルにエクスポートするよう設定することで、独自のダッシュボード構築にも活用できます
列の型 |
結果 |
数値の列 |
|
文字列の列 |
|
その他のネストされていない列 |
|
ネストされた列または複雑なデータ型の列または繰り返しモードの列 |
|
ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。