2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[CDGC] Azure Synapse Analytics のスキャン

Last updated at Posted at 2024-08-30

はじめに

インフォマティカが提供する CDGC(データガバナンス&カタログ) を使って Azure Synapse Analytics の専用 SQL プール(旧Azure SQL Data Warehouse)からメタデータを取得(スキャン)するためのガイドです。
※2024/08時点の情報を元にしています。

image.png

事前準備

CDGC がセットアップ済みであり、メタデータコマンドセンターのメニューにアクセスできるライセンス、およびユーザロール、ユーザである事を確認して下さい。詳細は こちらのナレッジベース を確認頂ければと思います。

前提

Azure Synapse Analytics からメタデータを取得を構成するには接続するユーザーが VIEW DEFINITION 及び CONNECT 権限を持っている必要があります。また、事前に以下の様なコマンドでロールへの追加及び権限の付与を実施しておいてください。

EXEC sp_addrolemember 'db_datareader', '<ユーザー>';
EXEC sp_addrolemember 'db_datawriter', '<ユーザー>';
GRANT ALTER ANY EXTERNAL DATA SOURCE TO <ユーザー>;
GRANT ALTER ANY EXTERNAL FILE FORMAT TO <ユーザー>;
GRANT CONTROL TO <ユーザー>;
GRANT CREATE TABLE TO <ユーザー>;

また、Azure Synapse Analytics のプロファイル時にはステージング用にストレージが必要になりますので、Azure Data Lake Storage gen2 もしくは Azure BLOB が必要になります。

Azure Synapse Analytics だけでなく、Amazon Redshift や Google BigQuery など、DWH 系へのプロファイル時には内部的にクラウドストレージをステージング領域として使用します。その為、Azure Synapse Analytics 接続の場合には BLOB もしくは ADLS gen2 が、Amazon Redshift 接続には Amazon S3 が、Google BigQuery 接続には Google Cloud Storage など、各 DWH ベンダーが提供するストレージサービスへのアクセスが必要になります。

スキャン対象

Azure Synapse Analytics からは下記のメタデータを取得可能です。

  • データベース
  • スキーマ
  • テーブル
  • ビュー
  • シノニム
  • カラム
  • マテリアライズドビュー
  • ストアドプロシージャ
  • ファンクション

接続設定

以下、Azure Synapse Analytics への接続例です。通常の JDBC URL やユーザー、パスワード、スキーマに加え、ステージングファイル用のストレージのタイプを "Azure Storage Type" から選ぶ必要があります。 "Azure Storage Type" には BLOB もしくは ADLS gen2 が選択でき、選んだストレージタイプ、認証タイプに応じた認証情報が必須項目になります。

image.png

接続を作成する際に Secure Agent を指定する必要があります。もし、まだインストールされていない方は、[IICS] Secure Agent のインストール手順 の記事を確認頂くか、こちら のナレッジを参考に Secure Agent をインストールしてください。

スキャン設定

英語になってしまいますが、How to Library や、公式のドキュメント もありますので、もし詳細を確認されたい場合にはこちらも参照してみてください。
本ドキュメントではデータベースに含まれるテーブルや列の情報とそのデータの傾向を示す "値の頻度" を取得する為の手順を簡単に紹介しています。

1.メニューから "メタデータコマンドセンター" を起動

メニューから "メタデータコマンドセンター" を選択します。

image.png

2.メタデータコマンドセンターから "新規" を選択

新しくカタログソースを設定する為、"新規"をクリックします。
image.png

3.カタログソースから "Microsoft Azure Synapse" を選択

カタログソースにリストされる一覧から "Microsoft Azure Synapse" を選択します。
image.png

4.Microsoft Azure Synapse への接続を設定

Azure Synapse Analytics への接続を選択し、"次へ" をクリックします。

image.png

5."メタデータの抽出" を設定

"メタデータの抽出" タブでランタイム環境から利用する Secure Agent を選択します。必要に応じてフィルタで絞り込みを実施し、"保存" をクリックします。今回もスキーマ名だけを指定してみました。

image.png

6."データプロファイリングとデータ品質" を設定

"データプロファイリングとデータ品質" タブで再度、"ランタイム環境" を選択します。また、"値の頻度" と呼ばれる実データのサマリを取得する為には "署名と値を保持" にチェックを入れます。

image.png

加えて、ステージング用に選定したストレージサービス配下のコンテナ名をここで指定します。上記4.の接続情報が ADLS gen2 の方は "ADLS FileSystem 名" へ、BLOB の方は "Azure BLOB コンテナ" に、どちらか一方、接続情報で指定した方にコンテナ名を指定し、他方はブランクのままにします。

今回、私は ADLS gen2 に指定し、synapse-staging という名前でコンテナを作成したのでそれを "ADLS FileSystem 名" に指定し、"Azure BLOB コンテナ" はブランクのままにします。
image.png

7."実行"でスキャンを開始

他にも設定項目はありますが、今回の記事のフォーカスポイントは設定し終わったので、"実行" をクリックし、スキャンを実行します。

image.png

8.実行スコープの設定

初回実行時、実行のスコープの画面で、"メタデータの抽出" はグレーアウトしていますが、2回目以降は以下の様に "保持" か "削除" を選択できるようになります。

image.png

もし、前回スキャンした際に抽出されたテーブルが既にデータベース側にはないけども、そのテーブルをデータとしてカタログ内に残したい場合には "保持" を設定します。一方で "削除" を選択すると、カタログ内には現在データベース内に存在するオブジェクトのみがカタログ化されます。(上記 "保持" で残されていた様なテーブルはカタログから削除されます。)

9.ジョブ監視画面で結果を確認

ジョブ監視画面に自動で遷移するので、しばらく待ってステータスが完了した事を確認します。

image.png

結果の確認

1.取得したアセットの一覧を表示

CDGC の画面(データガバナンスとデータカタログ)を呼出し、該当のカタログリソースが閲覧できることを確認します。

image.png

2.値の頻度の確認

テーブルの列を選択して、"値の頻度" からデータのパターンや分布を確認します。

image.png

Tips

  • プロファイリングに失敗する場合、ナレッジベース(KB)を参照し、エラーメッセージから検索を実施して下さい。

参考文献

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?