[CDGC] Google BigQueryのスキャン

# はじめに
<!-- ★『インフォマティカが提供する、 CDGC(データガバナンス＆カタログ)を使って』までは定型文 -->
[インフォマティカ](https://www.informatica.com/jp/)が提供する、 [CDGC](https://www.informatica.com/jp/products/data-governance/cloud-data-governance-and-catalog.html)(データガバナンス＆カタログ)を使って、Google BigQueryからメタデータを取得(スキャン)するためのガイドです。
※2023/12時点の情報を元にしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/897c380e-8e0b-4a5d-520a-0b103dfc584c.png)


 
<!-- 各チャプター -->
 
# 事前準備
<!-- ★ここはすべて定型文であり変更は不要 -->
CDGCがセットアップ済みであり、メタデータコマンドセンターのメニューにアクセスできるライセンス、およびユーザロール、ユーザである事を確認して下さい。[こちらのナレッジベース](https://knowledge.informatica.com/s/article/FAQ-CDGC-apps-licenses-roles?language=ja)より手順をご確認下さい。

また、ドキュメントの[Catalog Source Configurationページ](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration/google-bigquery.html)も参照して、手順を確認して下さい。
 
# 前提
<!-- ★ソース側のユーザーや権限、接続前提条件を書く -->
Google BigQueryで必要な権限は以下の通りです。
 
 - Google BigQuery ソースシステムからメタデータを抽出するには、以下のオプションのいずれかを選択します：
   - 既存のロールを使用し、カスタム ロールの作成を回避する場合は、Google Cloud Platform プロジェクトへのアクセスに使用するサービス アカウントに BigQuery Data Viewer および BigQuery Metadata Viewer ロールを割り当てます。<P>
   -  最小限のパーミッションを使用する場合は、以下のパーミッションを持つカスタム ロールを作成し、Google Cloud Platform プロジェクトへのアクセスに使用するサービス アカウントにカスタム ロールを割り当てます
      - bigquery.datasets.get
      - bigquery.models.getMetadata
      - bigquery.routines.get
      - bigquery.tables.get
      - bigquery.tables.list
      - bigquery.jobs.create
      - bigquery.tables.getData
 - データ・プロファイルの実行権限
    - データプロファイルを実行するために追加のパーミッションは必要ありません。メタデータの抽出に使用したのと同じパーミッションでデータプロファイルを実行できます。
    
# スキャン対象
<!-- ★マニュアルから抜粋し、日本語訳する -->
Google BigQueryカタログソースは、Google BigQueryソースシステム内の以下のアセットからメタデータを抽出します
 - プロジェクト
 - データセット
 - テーブル
 - 外部テーブル
 - パーティション・テーブル
 - ビュー
 - マテリアライズド・ビュー
    - マテリアライズド・ビュー・タイプのオブジェクトは、データガバナンスおよびカタログではビューとして表示されます。
 - ストアド・プロシージャ
 - SQLユーザー定義関数（UDF）

# プロファイリング対象
Google BigQueryソースシステムから抽出されたメタデータに対してプロファイルを実行するために、データプロファイリングを設定します。以下の Google BigQuery オブジェクトに対してデータプロファイルを実行できます：
 - テーブル
 - 外部テーブル
    - Google Cloud Storageに作成された外部テーブルに対してのみ、データプロファイルを実行できます。
 - パーティショニングされたテーブル
 - ビュー
 - マテリアライズド・ビュー

 
# 接続設定
<!-- ★先頭1行に関しては定型文、その後はソースに応じて変更する。infoやwarnは検証やKBから記載する -->
CDGCのスキャンに限らず、IDMCプラットフォームとしては、各種DBやファイルシステムへアクセスするために接続(Connection)を作成する必要があります。[ナレッジベース(KB)](https://knowledge.informatica.com/s/article/How-to-Create-a-connection-for-a-catalog-source-in-CDGC?language=ja)の手順もご確認下さい
 
1. 管理メニュー → 接続からBigQueryへアクセスするための情報を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/31017f94-815b-de9c-114f-87463b58456d.png)



 
:::note info
- タイプは「Google BigQuery V2」を選択して下さい。
- Google CloudのサービスアカウントからダウンロードできるJSONファイルに各種設定値が記載されているため、そちらを参照して下さい。
:::

 
# スキャン設定
<!-- ★基本的にはStep by Stepでスクリーンショットを記載する -->
詳細のステップは、[マニュアル](https://do)も合わせて参照して下さい。
 
1\. メニューから「メタデータコマンドセンター」を選択
![chrome_1tgmiMYCUF.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/e0573c01-973c-faa1-1344-23822d62f7d1.png)
 
2\. メタデータコマンドセンターから「新規」を選択
![chrome_w8lflLEgjP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/bd12959e-af63-9aa5-7051-bb2680b6dd49.png)
 
 
3\. カタログソースから「Google BigQuery」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/d107c592-d736-7a03-4bc0-480cc42bace8.png)



 
 
4\. Google BigQueryへの接続情報を選択し「次へ」をクリック
必要に応じて、「テスト接続」にて、正常に接続できることを確認して下さい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/a0ae7b35-2b13-7deb-9f9c-687a84c9d526.png)


 
5\. ランタイム接続から利用するSecure Agentを選択、必要に応じてフィルタによる絞り込みを実施し、「保存」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/d3cd7bd7-bbfa-eb8f-5ee8-bc3381494735.png)


 
:::note info
- <b>フィルタ</b>を適用して、Google BigQueryのスキーマ、テーブル、ストアドプロシージャからメタデータを包含または除外できます。
:::
 
 
6\.プロファイリングの設定

 
「データプロファイリングとデータ品質」タブをクリックし、データプロファイリングの右側の矢印をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/4ce959f7-b70a-fbda-cd14-24b35f9d1937.png)



 
必要に応じて、任意のパラメータ設定を実施します。ランタイム接続の選択とパラメータを設定し、保存をクリック
「署名と値を保持」で、値の頻度と呼ばれる実データのサマリを取得できます。プロファイリングスコープを「完全」にすることでメタデータの変更の有無に関わらず、プロファイリングが実施されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/fadbfda2-324b-c9ed-0332-bee1ea0af704.png)






 
7\.「関連付け」「スケジュール」は必要に応じて設定しますが、今回はすぐにスキャンを実施したいため、「保存」後に、「実行」をクリックし、実行スコープを確認して、実行を開始
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/44cf5c7e-a380-92b3-a2a5-2de8d377a9da.png)



 
8\. ジョブ監視画面に自動で遷移するので、しばらく待ってステータスが完了した事を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/34a82ca1-61ae-de92-2350-6d000faf16e4.png)


 
 
# 結果の確認
<!-- ★CDGC側からの見た目のサンプルを表示。アセット一覧とリネージュの2通り程度 -->
- 取得したアセットの一覧を表示
CDGCの画面を呼出し、該当のカタログリソースが閲覧できることを確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/897c380e-8e0b-4a5d-520a-0b103dfc584c.png)

 
 
# 参考文献
<!-- ★URLをそれぞれのカタログソースに応じて変更する -->
- [**マニュアル** *ログインが必要](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration/google-bigquery.html)
- [**ナレッジベース(KB) - How to Library(H2L)** *リンクのPDFを参照して下さい](https://knowledge.informatica.com/s/article/How-To-Configure-a-Google-BigQuery-Resource-In-CDGC?language=en_US)
- [**Youtube - How to Configure a Google BigQuery scanner in CDGC** *日本字幕設定が可能です](https://www.youtube.com/watch?v=WS2Stiy5dI8)
- [**Youtube - Google BigQuery Catalog Source Enhancements in CDGC 2023.11S** *日本字幕設定が可能です](https://www.youtube.com/watch?v=L4S5zdrx_H0)