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:

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:

  • 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 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 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 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: