Configurar uma integração de catálogo

Uma integração de catálogo é um objeto Snowflake nomeado no nível de conta que armazena informações sobre como os metadados da tabela são organizados para os seguintes cenários:

  • Quando você não usa o Snowflake como catálogo Iceberg. Por exemplo, você precisa de uma integração de catálogo, se sua tabela for gerenciada pelo AWS Glue.

  • Quando você deseja fazer a integração ao Snowflake Open Catalog para:

    • Consultar uma tabela Iceberg no Snowflake Open Catalog usando Snowflake.

    • Sincronizar uma tabela Iceberg gerenciada pelo Snowflake com o Snowflake Open Catalog para que mecanismos de computação de terceiros possam consulta a tabela.

Uma única integração de catálogo pode oferecer suporte a uma ou mais tabelas Iceberg que usam o mesmo catálogo externo.

Você deve especificar uma integração de catálogo para criar uma tabela Apache Iceberg™ no Snowflake para os seguintes cenários:

  • Usar um catálogo externo do Iceberg.

  • Criar uma tabela a partir de arquivos no armazenamento de objetos.

  • Fazer a integração ao Snowflake Open Catalog.

  • Usar um catálogo Iceberg REST.

Criação de uma integração de catálogo

Você pode criar e configurar uma integração de catálogo para usar com uma ou mais tabelas Iceberg.

Para obter instruções específicas, consulte os seguintes tópicos:

Definir um catálogo padrão no nível da conta, do banco de dados ou do esquema

Para definir qual catálogo usar como padrão para tabelas Iceberg, você pode definir o parâmetro CATALOG nos seguintes níveis:

Conta:

Os administradores de conta podem usar o comando ALTER ACCOUNT para definir o parâmetro para a conta. Se o valor for definido para a conta, todas as tabelas Iceberg criadas na conta que usam um catálogo externo usarão essa integração de catálogo por padrão.

Objeto:

Os usuários podem executar o comando CREATE <objeto> ou ALTER <objeto> apropriado para substituir o valor do parâmetro CATALOG no nível do banco de dados ou esquema. A declaração de escopo mais baixo é usada: esquema > banco de dados > conta.

Além dos privilégios mínimos necessários para modificar um objeto usando o comando ALTER <tipo_de_objeto> apropriado, uma função deve ter o privilégio USAGE na integração de catálogo.

Nota

As mudanças no parâmetro CATALOG só se aplicam a tabelas criadas após a alteração. As tabelas existentes continuam usando a integração de catálogo especificada quando foram criadas.

Exemplo

A instrução a seguir define uma integração de catálogo (shared_catalog_integration) para um banco de dados denominado my_database_1:

ALTER DATABASE my_database_1
  SET CATALOG = 'shared_catalog_integration';
Copy

Depois de definir uma integração de catálogo no nível do banco de dados, você poderá criar uma tabela Iceberg nesse banco de dados sem especificar uma integração de catálogo. A instrução a seguir cria uma tabela Iceberg a partir de metadados no armazenamento de objetos em my_database_1 que usa a integração de catálogo padrão (shared_catalog_integration) definida para o banco de dados.

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