Dataplex で何ができるの?

2024.06.18

こんにちは、みかみです。

犬のおやつはあげる前にちょっと食べてみることにしてますが、最近のおやつはどれも美味しくてびっくりです。

やりたいこと

  • Dataplex で何ができるか知りたい
  • Dataplex でできることを、画面イメージで確認したい

Dataplex でできること

Dataplex では、以下の機能を利用することができます。

  • データ検索
  • データ確認
  • タグ、ビジネス用語付与
  • データプロファイル、品質管理
  • データリネージ
  • 権限管理

本エントリでは Dataplex の各用語や概念、設計思想や各機能の設定方法等のご紹介は割愛させていただきますが、 以下の G-gen さんの技術ブログがとても分かりやすいので、ぜひご参照ください!

前提

本エントリで利用している BigQuery, Cloud Storage, Dataplex, Data Catalog などの API は有効化済みで、操作するアカウントに各設定に必要な権限は付与済みです。 動作確認時には、プロジェクトオーナーロールを付与したアカウントを使用しています。

また、動作確認に使用するための以下のDataplex のレイク、ゾーン、アセットを作成済みです。

asia-northeast1 リージョンを指定した lake-tokyo レイクを作成し、

$ gcloud dataplex lakes list --location asia-northeast1
NAME: lake-tokyo
DISPLAY_NAME: Lake_Tokyo
LAKE_STATUS: ACTIVE
METASTORE_STATUS: NONE
METASTORE: 
SECURITY_STATUS: 
ACTIVE_ASSETS: 2
LABELS:

lake-tokyo レイクの下に、構造化済み(BigQuery)データ用の marketing キュレートゾーンと、 非構造化(GCS)データ用の reference 未加工ゾーンを作成しました。

$ gcloud dataplex zones list --location asia-northeast1 --lake lake-tokyo
NAME: marketing
DISPLAY_NAME: marketing
ZONE_STATUS: ACTIVE
ZONE_TYPE: CURATED
RESOURCE_LOCATION_TYPE: SINGLE_REGION
DISCOVERY_ENABLED: True
SECURITY_STATUS: 
ACTIVE_ASSETS: 1
LABELS: 

NAME: reference
DISPLAY_NAME: Reference
ZONE_STATUS: ACTIVE
ZONE_TYPE: RAW
RESOURCE_LOCATION_TYPE: SINGLE_REGION
DISCOVERY_ENABLED: True
SECURITY_STATUS: 
ACTIVE_ASSETS: 1
LABELS:

marketing キュレートゾーンの下には、BigQuery の ds_dataplex データセットを指定した awamori アセットを作成し、

$ gcloud dataplex assets list --location asia-northeast1 --lake lake-tokyo --zone marketing
NAME: awamori
DISPLAY_NAME: awamori
ASSET_STATUS: ACTIVE
DISCOVERY_ENABLED: 
DISCOVERY_STATUS: SCHEDULED
RESOURCE_NAME: projects/cm-da-mikami-yuki-******/datasets/ds_dataplex
RESOURCE_TYPE: BIGQUERY_DATASET
RESOURCE_STATE: READY
SECURITY_STATUS: READY
LABELS:

※一部伏字に変更しています。

reference 未加工ゾーンには、GCSバケットを指定した weather アセットを作成しました。

$ gcloud dataplex assets list --location asia-northeast1 --lake lake-tokyo --zone reference
NAME: weather
DISPLAY_NAME: weather
ASSET_STATUS: ACTIVE
DISCOVERY_ENABLED: 
DISCOVERY_STATUS: SCHEDULED
RESOURCE_NAME: test-dataplex-mikami
RESOURCE_TYPE: STORAGE_BUCKET
RESOURCE_STATE: READY
SECURITY_STATUS: READY
LABELS:

データ検索

Dataplex の「検索」メニューで、権限のある複数プロジェクト、複数サービスにまたがる様々な場所に配置されているデータを検索することが可能です。

システムが複数プロジェクトにまたがる大きい場合や、権限管理のために複数プロジェクトにまたがる BigQuery をご利用の場合など、いちいちプロジェクトを変更しなくても統合的にデータを検索することが可能なので便利です。 また、後述のタグ付け機能などで関連データを紐づけておけば、BigQuery のテーブル名や GCS ファイル名が分からなくても、欲しいデータがどこにどんな状態で格納されているのか、探すことができます。

左側の「Filters」メニューから、対象プロジェクトや対象のシステム(BigQuery や GCS など)が選択可能です。

また、検索フォームから自由入力で対象データを検索することができます。 データに説明やタグがついていれば、日本語での検索も可能です。

データ確認

検索したデータがどこにあってどんな項目を持っているのか、またどのくらいのデータ量でいつ更新されたのかなど、確認することができます。

BigQuery テーブルの場合、テーブル定義やテーブルの説明、カラムの説明など確認できます。

実テーブルではなく、外部テーブルやビュー、マテリアライズドビューの場合も、BigQuery 管理コンソールのテーブル/ビュー詳細で確認できる情報が、Dataplex から確認できます。

GCS に配置したファイルデータの場合、CSV や JOSN などの構造化がサポートされているファイルは、Dataplex が自動で BigQuery にデータセットと外部テーブルを作成してくれるので、BigQuery のテーブル定義と同じようにファイル内の項目やデータ型などを確認できます。

画像ファイルなどの非構造データも、ファイルが配置されている場所やファイル形式等の情報を確認できます。

なお、構造化がサポートされていないファイル形式(PDFなど)やサポートされていない文字コード(S-JISなど)の場合、アセット作成時に無効なデータとして検出され、Dataplex で検索することはできません。

データ取り込みテンプレートを活用するなど、Dataplex で管理できるデータへの変換をご検討ください。

タグ、ビジネス用語付与

Dataplex 管理コンソールから、対象のデータに自由にタグ情報を付与することができます。

例えば、そのデータの管理者が誰で、テストデータなのか実際にに利用できる本番データなのか、個人情報が含まれるかどうか、など、データ管理に必要な項目がタグテンプレートとして用意されているので、テンプレートを作成しておけば、必要な情報を入力するだけで簡単にタグ付けすることができます。

また、ビジネス用語を登録しておくと、BigQuery テーブルに説明が付与されていない場合でも、その項目の意味やより詳細な内容など、データ利用者に必要な情報を追加付与することができます。

データプロファイル、品質管理

必要なデータが見つかっても、エラーなく正常に取り込まれているデータかどうか分からないと、実際にデータを活用することができません。

データプロファイルで機能で、データの分布や平均値、最小値・最大値などを調べることができます。

また、データ品質チェックのルールを作成して、各データ項目に対して NULLチェックや一意性チェック、範囲チェックを実施することができます。

ルールに一致しないデータが格納されている場合には品質チェック結果がNGになり、Dataplex 画面からすぐに確認できます。

プロファイル、品質チェックともに、ワンショットの実行はもちろん、スケジュール実行を設定しておくことも可能なので、バッチ処理などで定期的に更新されるテーブルのデータチェックも可能です。

なお、このデータプロファイルや品質チェックは BigQuery 管理画面からでも設定・確認可能です。

データリネージ

必要なデータを特定するにあたって、対象のデータが何を元に作られているか、また後続で作成されるデータの方が利用に適したデータではないかなど、データの繋がりをデータリネージ機能で確認することができます。

データの繋がりがわかれば、整合性や信頼性の向上に繋がり、よりデータを活用しやすくなります。

権限管理

Dataplex で作成したレイク、ゾーン、アセットの単位で、ユーザーアカウントやグループに対して必要な権限を付与することができます。 例えば BigQueryデータの場合、対象の BigQuery データセットやテーブルに対する権限を付与しなくても、メタデータやプレビューデータが確認可能です。

データ利用者に合わせて必要な範囲に必要な権限を付与することができ、実際にデータが格納されているシステム(BigQuery や GCS など)への権限付与は必要ないので、よりセキュアでシンプルな権限管理を行うことが可能です。

まとめ(所感)

データエンジニア(システム管理者)から見ると、どのデータからどのテーブルが作成されるか分かりますし、データ取り込みやマート作成処理のエラー発生有無も監視できるのでデータの正当性も確認できますが、実際にデータを利用するユーザーにとっては、使いたいデータがどこにあって、それが正しいデータなのか、すぐには判断できないことも多いのではないでしょうか?

ユーザーにとって利用しやすい、または利用したいと思える環境を整えられれば、苦労してデータ分析基盤を構築した甲斐もあるというものです!

Google Cloud 環境でデータ分析基盤を運用していて、まだデータカタログ/データガバナンスツールを導入していない場合は、手軽に始められる Dataplex のご利用を検討いただくのも良いのではないかと思いました。

参考