Introdução às 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 são tabelas de diretório?¶
Uma tabela de diretório não é um objeto de banco de dados separado; pelo contrário, é um objeto implícito em camadas em um estágio. Os estágios tanto externos (armazenamento externo em nuvem) quanto internos (ou seja, Snowflake) oferecem suporte a tabelas de diretório. Uma tabela de diretório não tem privilégios próprios. Uma tabela de diretório pode ser adicionada explicitamente a um estágio quando o estágio é criado (usando CREATE STAGE) ou mais tarde (usando ALTER STAGE).
Conceitualmente, as tabelas de diretório são semelhantes às tabelas externas na medida em que armazenam metadados no nível de arquivo sobre os arquivos de dados em um estágio. Consulte uma tabela de diretório para recuperar o URL do arquivo hospedado no Snowflake para cada arquivo no estágio. Um URL de arquivo permite o acesso prolongado a um arquivo especificado. Ou seja, o URL do arquivo não expira. O URL do mesmo arquivo é retornado chamando a função BUILD_STAGE_FILE_URL.
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 automáticas de 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 função de conta ou função de banco de dados com o privilégio OWNERSHIP no 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.