Snowflake

Metadata Agent for Snowflakeに必要なCloudFormationテンプレート、Parameter Storeの情報、および取得するメタデータについて

CloudFormationテンプレート

テンプレートのご利用には、Quollio Data Intelligence Cloudへの事前登録が必要です。詳しくは、お問い合わせ | 株式会社Quollio Technologies ページよりご連絡ください。

※基盤環境は全てのAgentから共通で使用するため、すでに存在している場合は構築不要です。

※「QT」は会社としてのQuollio Technologies、「QDIC」は製品のQuollio Data Intelligence Cloudを指します。

Parameter Store一覧

パラメータストア名 概要
/quollio/company_id QTから提供されるCompany ID
/quollio/snowflake/default/account_id

接続に使用するSnowflakeのアカウント識別子組織IDを使用した識別子アカウントロケーターを使用した識別子の2種類あります。

・組織ID:abcdefj-hi12345

・ロケーター:ab12345.ap-northeast-1.aws

BIサービス等とのリネージの生成時に、そのBIサービスがSnowflakeに対して、異なるアカウント識別子を使用して接続している場合は、別途マッピング用のパラメータが必要です。

/quollio/snowflake/default/username Snowflakeのユーザー名
/quollio/snowflake/default/role

Snowflakeのロール名。指定したユーザーが使用でき、カタログ化するデータベースやスキーマに対してメタデータを取得するためのロールを選択します。権限のレベルによって、取得できるメタデータが異なります。

・【必須】カタログ化したいSnowflakeのオブジェクトに対するREFERENCES権限をロールに付与

・【任意】Snowflakeの共有DBに関するメタデータ → "SHOW SHARES" コマンドを使用するためのIMPORT SHARE権限をロールに付与

・【任意】Snowflakeのタグのコメント情報 → "SNOWFLAKE" データベース内の IMPORTED PRIVILEGES権限をロールに付与

/quollio/snowflake/default/password Snowflakeユーザーのパスワード
/quollio/snowflake/default/warehouse SQL実行に使用するSnowflakeのウェアハウス名。
/quollio/snowflake/default/database Snowflakeのデータベース名。ジョブ開始時に最初に使用するデータベースを指定するためのパラメータであり、実際はクラスタ内でそのユーザーがアクセスできる全てのデータベースがカタログ化されます。
/quollio/snowflake/default/account_id_mapping

【任意】Snowflakeの共有データベースに関する情報を取得する "SHOW SHARES" コマンドの "owner_account" の値を、実際のエンドポイントの値に変換し、QDIC上で相互参照のリンクを生成するためのマッピング情報。

例)Snowflakeの Account A用に"/quollio/snowflake/a/account_id" に "abcdefj-hi12345" を保存し、Snowflakeの Account B用に"/quollio/snowflake/b/account_id" に "jklmnop-qr67890" を保存し、それらが共有DBの関係にある場合 → {"ABCDEFKJ.HI12345":  ["/quollio/snowflake/a/account_id"], "JKLMNOP.QR67890":  ["/quollio/snowflake/b/account_id"]}

 

アセット種別の対応関係

Snowflake Quollio Data Intelligence Cloud
Database Schema(スキーマ)
Schema Schema(スキーマ)
Table Table(テーブル)
View Table(テーブル)
Column Column(カラム)

取得するメタデータ

INFORMATION_SCHEMA 取得するメタデータ
INFORMATION_SCHEMA.DATABASES

DATABASE_NAME 

COMMENT

INFORMATION_SCHEMA.SCHEMATA

SCHEMA_NAME 

CATALOG_NAME 

COMMENT

INFORMATION_SCHEMA.TABLES

TABLE_CATALOG 

TABLE_NAME 

TABLE_SCHEMA 

ROW_COUNT 

BYTES 

COMMENT 

TABLE_TYPE

INFORMATION_SCHEMA.VIEWS

TABLE_CATALOG 

TABLE_NAME 

TABLE_SCHEMA 

COMMENT

INFORMATION_SCHEMA.COLUMNS

TABLE_CATALOG 

TABLE_NAME 

TABLE_SCHEMA 

COLUMN_NAME 

DATA_TYPE 

COMMENT

TAG_NAME
TAG_VALUE
COLUMN_NAME
OBJECT_DATABASE
OBJECT_SCHEMA
OBJECT_NAME
TAG_NAME
TAG_VALUE
COLUMN_NAME
OBJECT_DATABASE
OBJECT_SCHEMA
OBJECT_NAME

ACCOUNT_USAGE.TAG_REFERENCES*2

TAG_ID

TAG_NAME

TAG_VALUE

OBJECT_NAME

OBJECT_SCHEMA

OBJECT_DATABASE
COLUMN_NAME

ACCOUNT_USAGE.TAGS*2

TAG_ID
TAG_COMMENT

SQL 取得するメタデータ
SELECT GET_DDL('<type>','<database>.<schema>.<table>') *3 DDL statement
SHOW SHARES

created_on

kind

owner_account

name

database_name

to

owner

comment

listing_global_name

secure_objects_only

  • カタログ対象外スキーマ: 共有データベース
  • *1: CloudFormationテンプレートの "SnowflakeTagIngestionSource" パラメータで "INFORMATION_SCHEMA" を指定した際に参照する
  • *2: CloudFormationテンプレートの "SnowflakeTagIngestionSource" パラメータで "ACCOUNT_USAGE" を指定した際に参照する
  • *3: 共有データはDDL取得対象外