CREATE CATALOG INTEGRATION¶
注釈
カタログ統合は、外部カタログで、またはオブジェクトストレージ内のソースファイルから読み取り専用のIcebergテーブルを作成する場合のみに必要です。SnowflakeをIcebergカタログとして使用するIcebergテーブルを作成するには、カタログ統合は必要ありません。カタログとしてSnowflakeを使用するには、 CREATE ICEBERG TABLE コマンドで CATALOG
パラメーターを SNOWFLAKE
に設定します。
アカウント内の Icebergテーブル に対して新しい カタログ統合 を作成するか、既存のカタログ統合を置き換えます。
構文¶
CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
<name>
CATALOG_SOURCE = { GLUE | OBJECT_STORE }
TABLE_FORMAT = { ICEBERG }
[ catalogParams ]
ENABLED = { TRUE | FALSE }
[ COMMENT = '{string_literal}' ]
条件:
catalogParams (for AWS Glue)::= GLUE_AWS_ROLE_ARN = '<arn-for-AWS-role-to-assume>' GLUE_CATALOG_ID = '<glue-catalog-id>' [ GLUE_REGION = '<AWS-region-of-the-glue-catalog>' ] CATALOG_NAMESPACE = '<catalog-namespace>'
必須パラメーター¶
name
カタログ統合の識別子(名前)を指定する文字列。アカウント内で一意である必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
CATALOG_SOURCE = { GLUE | OBJECT_STORE }
カタログソースの型を指定します。
AWS Glue
GLUE
: Snowflakeと AWS Glue間の統合を作成します。オブジェクトストレージのIcebergメタデータ
OBJECT_STORE
: 外部ボリューム に関連付けた外部クラウドストレージの場所にあるIcebergメタデータファイルの統合を作成します。TABLE_FORMAT = { ICEBERG }
カタログが提供する表形式を指定します。
ICEBERG
: Glue Icebergテーブルまたは外部クラウドストレージの場所にあるメタデータからのIcebergテーブルを指定します。
ENABLED = { TRUE | FALSE }
カタログ統合をIcebergテーブルで使用できるかどうかを指定します。
TRUE
は、ユーザーがこの統合を参照する新しいIcebergテーブルを作成できるようにします。この統合関数を通常参照する既存のIcebergテーブル。FALSE
は、ユーザーがこの統合を参照する新しいIcebergテーブルを作成できないようにします。この統合を参照する既存のIcebergテーブルは、テーブル定義のカタログにアクセスできません。
カタログパラメーター(catalogParams
)¶
AWS Glue
重要
AWS Glue用のカタログ統合を作成する場合、SnowflakeとGlueデータカタログ間の信頼関係を確立するために追加の手順を完了する必要があります。詳細については、 Icebergテーブルのカタログ統合を構成する をご参照ください。
GLUE_AWS_ROLE_ARN = 'arn-for-AWS-role-to-assume'
引き受ける AWS Identity and Access Management(IAM)ロールのAmazonリソース名(ARN)を指定します。
GLUE_CATALOG_ID = 'glue-catalog-id'
AWS アカウントの ID を指定します。
[ GLUE_REGION = 'AWS-region-of-the-glue-catalog' ]
AWS Glue Data Catalogの AWS リージョンを指定します。Snowflakeアカウントが AWS でホストされていない場合、このパラメーターに値を指定する必要があります。そうでない場合、デフォルトのリージョンはアカウントのSnowflakeデプロイメントリージョンになります。
CATALOG_NAMESPACE = 'catalog-namespace'
AWS Glue Data Catalog名前空間(例えば、
my_glue_database
)を指定します。これは、このカタログ統合に関連付けたすべてのIcebergテーブルのデフォルトの名前空間です。テーブルの作成時にテーブルレベルで名前空間を指定することで、この値をオーバーライドできます。
オプションのパラメーター¶
COMMENT = 'string_literal'
統合のコメントを指定する文字列(リテラル)。
デフォルト: 値なし
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE INTEGRATION |
アカウント |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
既存のカタログ統合は変更できません。代わりに CREATE OR REPLACE CATALOG INTEGRATION ステートメントを使用してください。
メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
AWS Glue
次の例は AWS Glueカタログソースを使用するカタログ統合を作成します。Glue用のカタログ統合を作成する場合、SnowflakeとGlueデータカタログ間の信頼関係を確立するために追加の手順を完了する必要があります。詳細については、 Icebergテーブルのカタログ統合を構成する をご参照ください。
CREATE CATALOG INTEGRATION glueCatalogInt CATALOG_SOURCE=GLUE CATALOG_NAMESPACE='my.catalogdb' TABLE_FORMAT=ICEBERG GLUE_AWS_ROLE_ARN='<arn-for-aws-role-to-assume>' GLUE_CATALOG_ID='<catalog-id>' GLUE_REGION='<optional-aws-region-of-the-glue-catalog>' ENABLED=TRUE;
オブジェクトストレージのIcebergメタデータ
次の例では、外部クラウドストレージのIcebergメタデータを使用する統合を作成します。OBJECT_STORE は 外部ボリューム に関連付けたオブジェクトストレージに対応します。
CREATE CATALOG INTEGRATION myCatalogInt CATALOG_SOURCE=OBJECT_STORE TABLE_FORMAT=ICEBERG ENABLED=TRUE;