Icebergテーブルを作成する

このトピックでは、異なる Icebergカタログのオプション に対してSnowflakeで Icebergテーブル を作成する方法について説明します。Icebergテーブルは CREATE ICEBERG TABLE コマンドで作成できます。

注釈

Icebergテーブルを作成するには、セッションの現在のウェアハウスとして指定された実行中のウェアハウスが必要です。Icebergテーブルの作成時に実行中のウェアハウスが指定されていない場合、エラーが発生することがあります。詳細については、 ウェアハウスでの作業 をご参照ください。

SnowflakeをカタログとしてIcebergテーブルを作成する

SnowflakeをカタログとしてIcebergテーブルを作成するには、 外部ボリューム と、Snowflakeがテーブルデータとメタデータを書き込めるベースの場所(外部ボリューム上のディレクトリ)を指定する必要があります。外部ボリュームを作成する手順については、 Icebergテーブル用に外部ボリュームを構成する をご参照ください。

次の例では、SnowflakeをIcebergカタログとしてIcebergテーブルを作成します。

CREATE ICEBERG TABLE myTable
  CATALOG='SNOWFLAKE'
  EXTERNAL_VOLUME='myIcebergVolume'
  BASE_LOCATION='relative/path/from/extvol/location/';
Copy

バリアント構文を使用して、SnowflakeをカタログとしてIcebergテーブルを作成することもできます。 CREATE TABLE ... AS SELECTCREATE ICEBERG TABLE ... LIKE をご参照ください。

カタログ統合でIcebergテーブルを作成する

外部カタログを使用する、またはカタログをまったく使用しないIcebergテーブルを作成するには、 外部ボリュームカタログ統合 を指定する必要があります。外部のIcebergカタログを使用する場合は、追加のパラメーターを指定する必要がある場合もあります。例えば、AWS Glueをカタログとして使用する場合、カタログテーブル名を指定する必要があります。

カタログ統合でIcebergテーブルを作成する場合、Snowflakeは初期メタデータの更新を実行します。また、 ALTER ICEBERG TABLE コマンドを使用してテーブルメタデータを手動で更新し、メタデータを最新のテーブルの変更と同期させることもできます。詳細については、 テーブルのメタデータを手動で更新する をご参照ください。

AWS GlueをカタログとしてIcebergテーブルを作成する

重要

SnowflakeとGlueデータカタログ間の信頼関係を確立するには、 AWS Glueのカタログ統合を構成する必要があります。手順については、 Icebergテーブルのカタログ統合を構成する をご参照ください。

次の例は、 AWS Glueデータカタログを使用するIcebergテーブルを作成し、 AWS Glue(glueCatalogInt)のために構成されたカタログ統合の名前と、 CATALOG_TABLE_NAME プロパティの値を指定します。

CREATE ICEBERG TABLE myGlueTable
  EXTERNAL_VOLUME='glueCatalogVolume'
  CATALOG='glueCatalogInt'
  CATALOG_TABLE_NAME='myGlueTable';
Copy

オブジェクトストレージ内のIcebergファイルからIcebergテーブルを作成する

次の例では、外部クラウドストレージのIcebergメタデータからIcebergテーブルを作成し、外部ボリューム(METADATA_FILE_PATH)のテーブルメタデータへの相対パスを指定します。

CREATE ICEBERG TABLE myIcebergTable
  EXTERNAL_VOLUME='icebergMetadataVolume'
  CATALOG='icebergCatalogInt'
  METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Copy