0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Purviewと連携したメタデータ駆動パイプラインを開発してみる

Last updated at Posted at 2022-01-30

はじめに

Azureデータ基盤のベストプラクティスの一つに自動インジェスト フレームワークが Azure でのデータ管理と分析のシナリオをサポートする方法があります。

関連して、
データのコピー ツール (プレビュー) でメタデータ駆動型の方法を使用して大規模なデータ コピー パイプラインを作成する」を利用して、メタデータ駆動のデータ取り込みパイプラインの開発が可能ですが、これをPurviewと連携してみようと思います。

ハンズオンリポジトリ

2022-01-30-14-31-20.png

Purviewのメタデータ取得パイプライン内容解説

2022-01-30-15-19-52.png

Delete Metadata

取り込みを実行するパイプライン名をキーにして制御テーブル内のレコードを削除します。

コード:
usp_delete_metadata.sql

Set Get QueryUrl~Query Ingest Target

Purviewのカタログ検索APIを利用して取り込み対象のアセットを検索します。

Set Get QueryUrl:
.purview.azure.com/(PurviewのデータプレーンURI)+「catalog/api/search/query」へのポスト用urlを生成

Set Query Body:
要求本文を生成

Query Ingest Target:
POSTメソッドでアセットの検索を実行

For Each

アセットで繰り返します。Itemにはカタログの検索にひっかかったエンティティのguidなどが格納されます。

Get_Entity~Get_Server_Entity

guidを使用してgetを叩くことで、テーブル名、スキーマ名、データベース名、Azure SQL サーバーホスト名を取得します。
参照エンティティ(テーブルの場合、被参照はカラム)は親のエンティティのguidが載ってますので、以下のような参照順にgetしています。
table entitiy→dbSchema→db→server

Insert Metadata

取得したエンティティ情報および、シンク先のフォルダなどの情報を制御テーブルに書き込みます。

コード:
usp_insert_metadata.sql

最後に

自動インジェストパターンは大量のデータ取り込みをするうえでは、考慮不可欠の概念になります。
あわせて、カタログとの統合で型情報を取得してデータ品質チェックを自動化するなど、メタデータを利用したパイプラインはこれからいろいろなソリューションが期待されます。

ぜひお試しください。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?