[CDGC] Amazon Redshiftのスキャン

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/c1c62b1b-96f9-83f9-9e48-42d00d195606.png)


 
<!-- 各チャプター -->
 
# 事前準備
<!-- ★ここはすべて定型文であり変更は不要 -->
CDGCがセットアップ済みであり、メタデータコマンドセンターのメニューにアクセスできるライセンス、およびユーザロール、ユーザである事を確認して下さい。[こちらのナレッジベース](https://knowledge.informatica.com/s/article/FAQ-CDGC-apps-licenses-roles?language=ja)より手順をご確認下さい。
 
# 前提
<!-- ★ソース側のユーザーや権限、接続前提条件を書く -->
Amazon Redshiftで必要な権限
 
 - Amazon Redshift外部ソースの読み取り権限。
 - 以下の操作を実行できる権限：
select on pg_catalog.PG_ATTRIBUTE
select on pg_catalog.PG_CLASS
select on pg_catalog.PG_CONSTRAINT
select on pg_catalog.PG_DESCRIPTION
select on pg_catalog.PG_LANGUAGE
select on pg_catalog.PG_NAMESPACE
select on pg_catalog.PG_PROC
select on pg_catalog.PG_TYPE
select on pg_catalog.PG_VIEWS
select on pg_catalog.SVV_EXTERNAL_TABLES
select on pg_catalog.SVV_EXTERNAL_COLUMNS
select on information_schema.COLUMNS
select on information_schema.TABLES
select on pg_catalog.PG_TABLES
select on pg_catalog.PG_CLASS_INFO
select on pg_catalog.PG_PROC_INFO
     
 - 処理したいテーブルの SHOW EXTERNAL TABLE 権限。

 - データプロファイリングを実行するには、Amazon Redshiftソースシステムにデータをアンロードする必要があります。データをアンロードするために、以下のAmazon Redshiftコネクタ権限を設定します：
PutObject
GetObject
DeleteObject
ListBucket
GetBucketPolicy

# スキャン対象
<!-- ★マニュアルから抜粋し、日本語訳する -->
Redshiftから下記のメタデータを取得可能です。
 - データベース
 - スキーマ
 - 外部スキーマ
 - テーブル
 - 外部テーブル
 - ビュー
 - マテリアライズド・ビュー
 - ファンクション
 - プロシージャ
 - カラム

# プロファイリング対象
Amazon Redshiftのソースシステムから抽出されたメタデータに対してプロファイルを実行する為にデータプロファイリングを設定します。以下の Amazon Redshift オブジェクトに対してデータプロファイルを実行することができます：
 - テーブル
 - ビュー
 
# 接続設定
<!-- ★先頭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. 管理メニュー → 接続からRedshiftへアクセスするための情報を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/84ffcffd-ceea-d877-11af-f4fb0811249d.png)

 
:::note info
- タイプは「Amazon Redshift V2」を選択して下さい。
- JDBC URLは次の形式で入力します。画面右側のセットアップガイドも参照して下さい
jdbc:redshift://＜amazon_redshift_host＞:＜port_number＞/＜database_name＞
:::

 
# スキャン設定
<!-- ★基本的にはStep by Stepでスクリーンショットを記載する -->
詳細のステップは、[マニュアル](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration/amazon-redshift.html)、[How to Library](https://knowledge.informatica.com/s/article/How-To-Configure-an-Amazon-Redshift-Resource-In-CDGC?language=en_US)も合わせて参照して下さい。
 
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\. カタログソースから「Amazon Redshift」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/2a32a47d-52a2-5e64-3128-fcf0c3fced8f.png)

 
 
4\. Amazon Redshiftへの接続情報を選択し「次へ」をクリック
必要に応じて、「テスト接続」にて、正常に接続できることを確認して下さい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/84c84062-c46a-b43e-04d2-402d23bcf2e0.png)

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

 
:::note info
- <b>フィルタ</b>を適用して、Amazon Redshiftのスキーマ、テーブルからメタデータを包含または除外できます。なお、Schema_Name.TABLE_NAME 等でピリオドで区切ることで特定のスキーマのテーブルを指定することも可能です。詳細の設定はマニュアルを参照して下さい。
- ストアドプロシージャ等のプログラムを取得したい場合は、「プログラム可能オブジェクトの処理」を「はい」にします
:::
 
 
6\.プロファイリングの設定

 
「データプロファイリングとデータ品質」タブをクリックし、データプロファイリングの右側の矢印をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/123c2103-0078-2d1b-6a44-80acf1cf224d.png)


 
必要に応じて、任意のパラメータ設定を実施します。ランタイム接続の選択とパラメータを設定し、保存をクリック
「署名と値を保持」で、値の頻度と呼ばれる実データのサマリを取得できます。プロファイリングスコープを「完全」にすることでメタデータの変更の有無に関わらず、プロファイリングが実施されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/233408b2-eea2-c8fe-9789-7d8e6a9beb7c.png)


:::note warn
プロファイリングでは、S3バケットを使用してデータをステージングします。上段のS3の権限と、十分なストレージ容量があることを確認してください。
Amazon S3バケットに対する操作を実行するために、ユーザーに以下のIAM権限を付与します：
s3:PutObject, s3:GetObject, s3:GetBucketLocation

プロファイリングに失敗する場合は、[こちらのKB](https://knowledge.informatica.com/s/articlepreview?c__number=000210194)も参考にして下さい。
:::





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


 
1. ジョブ監視画面に自動で遷移するので、しばらく待ってステータスが完了した事を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110338/522754f7-f03c-21d1-7df3-6ad27fd7f0c9.png)

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

 
# Tips
<!-- ★KBや経験より記載を実施。今後の予定などがあればそれも記載する -->
- プロファイリングに失敗する場合、[ナレッジベース(KB)](https://knowledge.informatica.com/s/global-search/%20#t=KB&sort=relevancy&f:@athenaproduct=[Cloud%20Data%20Governance%20and%20Catalog])を参照し、エラーメッセージから検索を実施して下さい。
 
# 参考文献
<!-- ★URLをそれぞれのカタログソースに応じて変更する -->
- [**マニュアル** *ログインが必要](https://docs.informatica.com/data-governance-and-quality-cloud/metadata-command-center/current-version/catalog-source-configuration/amazon-redshift.html)
- [**ナレッジベース(KB) - How to Library(H2L)** *リンクのPDFを参照して下さい](https://knowledge.informatica.com/s/article/How-To-Configure-an-Amazon-Redshift-Resource-In-CDGC?language=en_US)