Créer une table Iceberg

Cette rubrique explique comment créer des tables Iceberg dans Snowflake pour différentes Options de catalogue Iceberg. Vous pouvez créer une table Iceberg via la commande CREATE ICEBERG TABLE.

Note

Pour créer une table Iceberg, vous devez disposer d’un entrepôt en cours d’exécution spécifié comme l’entrepôt actuel de votre session. Des erreurs peuvent se produire si aucun entrepôt en cours d’exécution n’est spécifié lorsque vous créez une table Iceberg. Pour plus d’informations, voir Utilisation des entrepôts.

Créer une table Iceberg avec Snowflake comme catalogue

Pour créer une table Iceberg avec Snowflake comme catalogue, vous devez spécifier un volume externe et un emplacement de base (répertoire sur le volume externe) dans lesquels Snowflake peut écrire les données et les métadonnées de la table. Pour des instructions sur la création d’un volume externe, voir Configurer un volume externe pour des tables Iceberg.

L’exemple suivant crée une table Iceberg avec Snowflake comme catalogue Iceberg.

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

Vous pouvez également créer une table Iceberg avec Snowflake comme catalogue via la syntaxe de variantes. Voir CREATE TABLE … AS SELECT et CREATE ICEBERG TABLE … LIKE.

Créer une table Iceberg avec une intégration de catalogue

Pour créer une table Iceberg qui utilise un catalogue externe, ou qui n’utilise aucun catalogue, vous devez spécifier un volume externe et une intégration de catalogue. Si vous utilisez un catalogue Iceberg externe, vous devrez peut-être également spécifier des paramètres supplémentaires. Par exemple, lorsque vous utilisez AWS Glue comme catalogue, vous devez spécifier un nom de table de catalogue.

Lorsque vous créez une table Iceberg avec une intégration de catalogue, Snowflake effectue une actualisation initiale des métadonnées. Vous pouvez également actualiser manuellement les métadonnées de la table via la commande ALTER ICEBERG TABLE pour synchroniser les métadonnées sur les modifications les plus récentes apportées à la table. Pour plus d’informations, voir Actualiser manuellement les métadonnées de la table.

Créer une table Iceberg avec AWS Glue comme catalogue

Important

Vous devez configurer une intégration de catalogue pour AWS Glue pour établir une relation de confiance entre Snowflake et le catalogue de données Glue. Pour obtenir des instructions, voir Configurer une intégration de catalogue pour des tables Iceberg.

L’exemple suivant crée une table Iceberg qui utilise le catalogue de données AWS Glue, en spécifiant le nom d’une intégration de catalogue configurée pour AWS Glue (glueCatalogInt) et une valeur pour la propriété CATALOG_TABLE_NAME.

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

Créer une table Iceberg à partir de fichiers Iceberg dans le stockage d’objets

L’exemple suivant crée une table Iceberg à partir de métadonnées Iceberg dans le stockage Cloud externe, en spécifiant un chemin d’accès relatif aux métadonnées de la table dans le volume externe (METADATA_FILE_PATH).

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