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.
Dica
Se você usa um catálogo Iceberg REST, pode usar uma integração de catálogo Apache Iceberg™ REST com um banco de dados vinculado a catálogo para trazer seus dados externos de um catálogo Iceberg REST remoto para o Snowflake.
Um banco de dados vinculado a catálogo descobre automaticamente e permanece sincronizado com os namespaces e as tabelas do seu catálogo remoto. Você pode usar o banco de dados vinculado a catálogo para ler e gravar nas tabelas do seu catálogo remoto a partir do Snowflake, mantendo a interoperabilidade completa com seu ecossistema Iceberg existente. Para obter mais informações, consulte os seguintes tópicos:
Usar um banco de dados vinculado a catálogo para tabelas Apache Iceberg™
Se os seus dados externos estiverem no Unity Catalog, consulte Tutorial: Configurar acesso bidirecional a tabelas Apache Iceberg™ no Databricks Unity Catalog
Se os seus dados externos estiverem no AWS Glue, consulte Criar data lakes usando o Apache Iceberg com o Snowflake e o AWS Glue
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:
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.