Configuration d’une intégration de catalogue

Une intégration de catalogue est un objet Snowflake de niveau compte qui stocke des informations sur la façon dont vos métadonnées de table sont organisées pour les scénarios suivants :

  • Lorsque vous n’utilisez pas Snowflake comme catalogue Iceberg. Par exemple, vous avez besoin d’une intégration de catalogue si votre table est gérée par AWS Glue.

  • Lorsque vous souhaitez une intégration à Snowflake Open Catalog pour :

    • Interroger une table Iceberg dans Snowflake Open Catalog à l’aide de Snowflake.

    • Synchroniser une table Iceberg gérée par Snowflake avec Snowflake Open Catalog afin que les moteurs de calcul tiers puissent interroger la table.

Une seule intégration de catalogue peut prendre en charge une ou plusieurs tables Iceberg qui utilisent le même catalogue externe.

Vous devez spécifier une intégration de catalogue pour créer une table Apache Iceberg™ dans Snowflake pour les scénarios suivants :

  • Utiliser un catalogue Iceberg externe.

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

  • Effectuer une intégration à Snowflake Open Catalog.

  • Utiliser un catalogue Iceberg REST.

Créer une intégration de catalogue

Vous pouvez créer et configurer une intégration de catalogue à utiliser avec une ou plusieurs tables Iceberg.

Pour des instructions spécifiques, reportez-vous aux rubriques suivantes :

Définition d’un catalogue par défaut au niveau du compte, de la base de données ou du schéma

Pour définir le catalogue à utiliser par défaut pour les tables Iceberg, vous pouvez définir le paramètre CATALOG aux niveaux suivants :

Compte:

Les administrateurs de compte peuvent utiliser la commande ALTER ACCOUNT pour définir le paramètre du compte. Si la valeur est définie pour le compte, toutes les tables Iceberg créées dans le compte qui utilisent un catalogue externe emploient par défaut cette intégration de catalogue.

Objet:

Les utilisateurs peuvent exécuter la commande CREATE <objet> ou ALTER <objet> appropriée pour remplacer la valeur du paramètre CATALOG au niveau de la base de données ou du schéma. La déclaration la moins étendue est utilisée : schéma > base de données > compte.

Outre les privilèges minimaux requis pour modifier un objet à l’aide de la commande ALTER <type_objet_> appropriée, un rôle doit avoir le privilège USAGE sur l’intégration de catalogue.

Note

Les modifications apportées au paramètre CATALOG ne s’appliquent qu’aux tables créées après la modification. Les tables existantes continuent d’utiliser l’intégration de catalogue spécifiée lors de leur création.

Exemple

L’instruction suivante définit une intégration de catalogue (shared_catalog_integration) pour une base de données nommée my_database_1 :

ALTER DATABASE my_database_1
  SET CATALOG = 'shared_catalog_integration';
Copy

Après avoir défini une intégration de catalogue au niveau de la base de données, vous pouvez créer une table Iceberg dans cette base de données sans spécifier d’intégration de catalogue. L’instruction suivante crée une table Iceberg à partir des métadonnées du stockage d’objets dans my_database_1 qui utilise l’intégration de catalogue par défaut (shared_catalog_integration) définie pour la base de données.

CREATE ICEBERG TABLE my_iceberg_table
   EXTERNAL_VOLUME='my_external_volume'
   METADATA_FILE_PATH='path/to/metadata/v1.metadata.json';
Copy