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';
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';