Partilhar via


O que é uma tabela?

Uma tabela reside em um esquema e contém linhas de dados. Todas as tabelas criadas no Azure Databricks usam o Delta Lake por padrão. As tabelas apoiadas pelo Delta Lake também são chamadas de tabelas Delta.

Uma tabela Delta armazena dados como um diretório de arquivos no armazenamento de objetos em nuvem e registra metadados de tabela no metastore dentro de um catálogo e esquema. Todas as tabelas gerenciadas e tabelas de streaming do Unity Catalog são tabelas Delta. As tabelas externas do Unity Catalog podem ser tabelas Delta, mas não precisam ser.

É possível criar tabelas em Databricks que não usam Delta Lake. Essas tabelas não fornecem as garantias transacionais ou o desempenho otimizado das tabelas Delta. Você pode optar por criar os seguintes tipos de tabelas usando formatos diferentes do Delta Lake:

  • Tabelas externas.
  • Mesas estrangeiras.
  • Tabelas registradas no metastore herdado do Hive.

No Unity Catalog, as tabelas ficam no terceiro nível do namespace de três níveis (catalog.schema.table):

Diagrama de modelo de objeto do Unity Catalog, focado na tabela

Tipos de tabela do Azure Databricks

O Azure Databricks permite que você use os seguintes tipos de tabelas.

Tabelas gerenciadas

As tabelas gerenciadas gerenciam arquivos de dados subjacentes juntamente com o registro do metastore. O Databricks recomenda que você use tabelas gerenciadas sempre que criar uma nova tabela. As tabelas gerenciadas do Unity Catalog são o padrão quando você cria tabelas no Azure Databricks. Eles sempre usam Delta Lake. Consulte Trabalhar com tabelas gerenciadas.

Tabelas externas

As tabelas externas, às vezes chamadas de tabelas não gerenciadas, separam o gerenciamento de arquivos de dados subjacentes do registro do metastore. As tabelas externas do Unity Catalog podem armazenar arquivos de dados usando formatos comuns legíveis por sistemas externos. Consulte Trabalhar com tabelas externas.

Tabelas delta

O termo tabela Delta é usado para descrever qualquer tabela apoiada pelo Delta Lake. Como as tabelas Delta são o padrão no Azure Databricks, a maioria das referências a tabelas está descrevendo o comportamento das tabelas Delta, salvo indicação em contrário.

O Databricks recomenda que você sempre interaja com tabelas Delta usando nomes de tabela totalmente qualificados em vez de caminhos de arquivo.

Tabelas de streaming

As tabelas de streaming são tabelas Delta usadas principalmente para processar dados incrementais. A maioria das atualizações de tabelas de streaming acontece por meio de operações de atualização.

Você pode registrar tabelas de streaming no Unity Catalog usando Databricks SQL ou defini-las como parte de um pipeline Delta Live Tables. Consulte Carregar dados usando tabelas de streaming no Databricks SQL. e O que é Delta Live Tables?.

Mesas estrangeiras

As tabelas estrangeiras representam dados armazenados em sistemas externos conectados ao Azure Databricks por meio da Lakehouse Federation. As tabelas estrangeiras são somente leitura no Azure Databricks. Veja O que é Lakehouse Federation.

Tabelas de recursos

Qualquer tabela Delta gerenciada pelo Unity Catalog que tenha uma chave primária é uma tabela de recursos. Opcionalmente, você pode configurar tabelas de recursos usando o Feature Store online para casos de uso de baixa latência. Consulte Trabalhar com recursos no Workspace Feature Store.

Mesas de colmeia (legado)

As tabelas do Hive descrevem dois conceitos distintos no Azure Databricks, ambos são padrões herdados e não recomendados.

As tabelas registradas usando o metastore herdado do Hive armazenam dados na raiz DBFS herdada, por padrão. O Databricks recomenda a migração de todas as tabelas do HMS herdado para o Unity Catalog. Consulte Objetos de banco de dados no metastore herdado do Hive.

O Apache Spark dá suporte ao registro e consulta de tabelas do Hive, mas esses codecs não são otimizados para o Azure Databricks. O Databricks recomenda registrar tabelas do Hive apenas para dar suporte a consultas em relação a dados gravados por sistemas externos. Consulte a tabela Hive (legado).

Tabelas dinâmicas (preteridas)

O termo live tables refere-se a uma implementação anterior da funcionalidade agora implementada como visualizações materializadas. Qualquer código herdado que faça referência a tabelas dinâmicas deve ser atualizado para usar sintaxe para exibições materializadas. Consulte O que é Delta Live Tables? e Usar exibições materializadas no Databricks SQL.

Permissões básicas de tabela

Para criar uma tabela, os usuários devem ter CREATE TABLE permissões no USE SCHEMA esquema e devem ter a USE CATALOG permissão em seu catálogo pai. Para consultar uma tabela, os usuários devem ter a SELECT permissão na tabela, a USE SCHEMA permissão em seu esquema pai e a USE CATALOG permissão em seu catálogo pai.

Para obter mais informações sobre as permissões do Catálogo Unity, consulte Gerenciar privilégios no Catálogo Unity.