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:

Para registrar alterações em arquivos em um estágio, você pode atualizar os 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. As atualizações manuais dos metadados da tabela de diretório não aparecem nas consultas à função PIPE_USAGE_HISTORY ou Account Usage Exibição PIPE_USAGE_HISTORY.

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:

  • Estágio interno: uma função de conta ou função de banco de dados com o privilégio READ no estágio.

  • Estágio externo: uma função de conta ou função de banco de dados com o privilégio READ ou USAGE no 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:

  • Estágio interno: uma função de conta ou função de banco de dados com o privilégio WRITE no estágio.

  • Estágio externo: uma função de conta ou função de banco de dados com o privilégio WRITE ou USAGE no estágio.

Atualize os metadados usando o comando ALTER STAGE.

Estágio

Uma das seguintes opções, dependendo do tipo de estágio:

  • Estágio interno: uma função de conta ou função de banco de dados com o privilégio WRITE no estágio.

  • Estágio externo: uma função de conta ou função de banco de dados com o privilégio WRITE ou USAGE 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.

Próximos tópicos: