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.
Pour définir des colonnes de table, vous pouvez utiliser des types de données Iceberg. Pour plus d’informations, voir Types de données des tables Iceberg.
L’exemple suivant crée une table Iceberg avec Snowflake comme catalogue Iceberg.
CREATE OR REPLACE ICEBERG TABLE my_iceberg_table (
boolean_col boolean,
int_col int,
long_col long,
float_col float,
double_col double,
decimal_col decimal(10,5),
string_col string,
fixed_col fixed(10),
binary_col binary,
date_col date,
time_col time,
timestamp_ntz_col timestamp_ntz(6),
timestamp_ltz_col timestamp_ltz(6)
)
CATALOG = 'SNOWFLAKE'
EXTERNAL_VOLUME = 'my_ext_vol'
BASE_LOCATION = 'my/relative/path/from/extvol';
Note
Il est également possible d’utiliser une syntaxe de variante. Pour plus d’informations, voir CREATE TABLE … AS SELECT et CREATE ICEBERG TABLE … LIKE.
Après avoir créé une table qui utilise Snowflake comme catalogue, vous pouvez effectuer des actions telles que les suivantes :
Pour plus d’informations, voir Gérer une table Iceberg.
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';
Après avoir créé une table avec AWS Glue comme catalogue, vous pouvez effectuer des actions telles que les suivantes :
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';
Après avoir créé une table à partir de fichiers dans le stockage d’objets, vous pouvez effectuer des actions telles que les suivantes :