Compartilhar 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 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 da 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 são obrigatórias.

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

  • Tabelas externas.
  • Tabelas estrangeiras.
  • Tabelas registradas no metastore do Hive legado.

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-lhe utilizar os seguintes tipos de tabelas.

Tabelas gerenciadas

As tabelas gerenciadas gerenciam arquivos de dados subjacentes juntamente com o registro do metastore. A Databricks recomenda que utilize tabelas geridas sempre que criar uma nova tabela. As tabelas gerenciadas do Catálogo do Unity são o padrão quando você cria tabelas no Azure Databricks. Eles sempre usam Delta Lake. Veja Trabalhar com tabelas gerenciadas.

Tabelas externas

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 do 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 às tabelas descreve o comportamento das tabelas Delta, salvo indicação em contrário.

A Databricks recomenda que interaja sempre com tabelas Delta utilizando nomes de tabelas totalmente qualificados em vez de caminhos de ficheiros.

Tabelas de streaming

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

Você pode registrar tabelas de streaming no Catálogo do Unity usando Databricks SQL ou defini-las como parte de um pipeline Delta Live Tables. Confira Carregar dados usando tabelas de streaming no Databricks SQL. e O que são Delta Live Tables?.

Tabelas estrangeiras

As tabelas estrangeiras representam dados armazenados em sistemas externos ligados ao Azure Databricks através da Lakehouse Federation. As tabelas estrangeiras são somente leitura no Azure Databricks. Confira O que é Federação do Lakehouse?.

Tabelas de recursos

Qualquer tabela Delta gerenciada pelo Unity Catalog que tenha uma chave primária é uma tabela de recursos. Qualquer tabela Delta gerenciada pelo Unity Catalog que tenha uma chave primária é uma tabela de recursos. Veja Trabalhar com tabelas de recursos no armazenamento de recursos do espaço de trabalho.

Tabelas Hive (herdadas)

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

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

O Apache Spark suporta o registo e a consulta de tabelas Hive, mas esses codecs não estão otimizados para Azure Databricks. A Databricks recomenda registar tabelas Hive apenas para suportar consultas contra dados escritos por sistemas externos. Veja Tabela Hive (herdada).

Tabelas ativas (obsoletas)

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

Permissões básicas de tabela

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

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