Tabelas de diretório¶
Este tópico introduz conceitos-chave, fornece informações acessórias e links para instruções de uso das tabelas de diretório.
Neste tópico:
O que é uma tabela de diretório?¶
Uma tabela de diretório é um objeto implícito colocado em camadas em um estágio (não um objeto de banco de dados separado) e é conceitualmente semelhante a uma tabela externa porque armazena metadados em nível de arquivo sobre os arquivos de dados no estágio. Uma tabela de diretório não tem privilégios próprios.
Os estágios tanto externos (armazenamento externo em nuvem) quanto internos (Snowflake) oferecem suporte a tabelas de diretório. Você pode adicionar uma tabela de diretório a um estágio ao criar um estágio (usando CREATE STAGE) ou posteriormente (usando ALTER STAGE).
Em especial, você pode usar uma tabela de diretório para realizar as seguintes tarefas de dados não estruturados:
Consultar uma lista de todos os arquivos não estruturados em um estágio. Você pode consultar uma tabela de diretório para recuperar uma lista de todos os arquivos em um estágio. A saída da consulta contém informações sobre cada arquivo, incluindo o tamanho, um carimbo de data/hora de quando ele foi modificado pela última vez e seu URL de arquivo Snowflake.
Criar exibições de dados não estruturados. Você pode associar uma tabela de diretório a uma tabela Snowflake que contém dados e metadados adicionais sobre arquivos não estruturados para ver arquivos não estruturados e seus dados relacionados em uma única exibição.
Construir um pipeline de processamento de arquivos. Você pode usar uma tabela de diretório com o Snowpark API ou funções externas para criar um pipeline de processamento de arquivos.
Atualização automática dos metadados da tabela de diretório¶
Os metadados de uma tabela de diretório podem ser atualizados automaticamente usando o serviço de notificação de eventos para seu serviço de armazenamento em nuvem. A operação de atualização sincroniza os metadados com o último conjunto de arquivos associados no caminho e estágio externo, ou seja:
Novos arquivos no caminho são adicionados aos metadados da tabela.
As mudanças nos arquivos do caminho são atualizadas nos metadados da tabela.
Os arquivos que não estão mais no caminho são removidos dos metadados da tabela.
Para obter mais informações, consulte Atualizações automatizadas dos metadados da tabela de diretório.
Faturamento para tabelas de diretório¶
Uma sobretaxa para gerenciar notificações de eventos para a atualização automática de metadados da tabela de diretório está incluída em suas taxas. Essa sobretaxa aumenta em relação ao número de arquivos adicionados no armazenamento em nuvem para seus estágios que incluem tabelas de diretório. Esta cobrança de sobretaxa aparece como cobranças do Snowpipe em sua fatura porque o Snowpipe é usado para notificações de eventos para a atualização automática da tabela de diretório. Você pode estimar essa cobrança consultando a função PIPE_USAGE_HISTORY ou examinando o Account Usage Exibição PIPE_USAGE_HISTORY.
Além disso, uma pequena sobretaxa de manutenção é cobrada para atualizar manualmente os metadados da tabela de diretório (usando ALTER STAGE … REFRESH). Essa sobretaxa é cobrada de acordo com o modelo de faturamento de serviços de nuvem padrão, como todas as atividades similares no Snowflake.
Os usuários com a função ACCOUNTADMIN, ou uma função com o privilégio global MONITOR USAGE, podem consultar a função de tabela AUTO_REFRESH_REGISTRATION_HISTORY para recuperar o histórico dos arquivos de dados registrados nos metadados dos objetos especificados e os créditos faturados por essas operações.
Requisitos de controle de acesso para tabelas de diretório¶
A tabela a seguir resume os privilégios do estágio necessários para executar comandos SQL comuns ao trabalhar com tabelas de diretório.
Operação |
Tipo de objeto |
Privilégio obrigatório |
---|---|---|
Recupere os URLs do arquivo de uma tabela de diretório usando uma instrução SELECT FROM DIRECTORY. |
Estágio |
Uma das seguintes opções, dependendo do tipo de estágio:
|
Carregue os dados usando o comando PUT. |
Estágio (somente interno) |
Uma função de conta ou função de banco de dados com o privilégio WRITE no estágio. |
Remova arquivos usando o comando REMOVE. |
Estágio |
Uma das seguintes opções, dependendo do tipo de estágio:
|
Atualize os metadados usando o comando ALTER STAGE. |
Estágio |
Uma das seguintes opções, dependendo do tipo de estágio:
|
Information Schema¶
O Snowflake Information Schema do Snowflake inclui funções de tabela que você pode consultar para recuperar informações sobre suas tabelas de diretório.
Funções de tabela¶
- AUTO_REFRESH_REGISTRATION_HISTORY
Recuperar o histórico dos arquivos de dados registrados nos metadados dos objetos especificados e os créditos faturados por essas operações.
- STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY
Recuperar informações sobre o histórico dos metadados para uma tabela de diretório, incluindo quaisquer erros encontrados ao atualizar os metadados.
Próximos tópicos: