O que é uma mesa?
Uma tabela reside em um esquema e contém linhas de dados. Todas as tabelas criadas em Databricks usam Delta Lake por default. 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 cloud e registra os metadados da tabela no metastore em um catálogo e esquema. Todas as tabelas Unity Catalog gerenciar e as tabelas de transmissão 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 o Delta Lake. Essas tabelas não oferecem as garantias transacionais ou o desempenho otimizado das tabelas Delta. O senhor pode optar por criar os seguintes tipos de tabelas usando formatos diferentes do Delta Lake:
Tabelas externas.
Tabelas estrangeiras.
Tabelas registradas no site legado Hive metastore.
No Unity Catalog, as tabelas estão no terceiro nível do namespace de três níveis (catalog.schema.table
):
![Diagrama do modelo de objeto do Unity Catalog, com foco na tabela](../_images/object-model-table.png)
Tipos de tabelas do Databricks
O Databricks permite que o senhor use os seguintes tipos de tabelas.
Tabelas gerenciadas
gerenciar tabelas gerenciar arquivos de dados subjacentes juntamente com o registro do metastore. Databricks recomenda que o senhor use tabelas gerenciar sempre que criar uma nova tabela. Unity Catalog Gerenciar tabelas é o default quando o senhor cria tabelas em Databricks. Eles sempre usam o Delta Lake. Consulte Trabalhar com tabelas gerenciais.
Tabelas externas
As tabelas externas, às vezes chamadas de tabelas não gerenciadas, desvinculam o gerenciamento dos arquivos de dados subjacentes do registro do metastore. As tabelas externas do Unity Catalog podem armazenar arquivos de dados usando formatos comuns que podem ser lidos por sistemas externos. Consulte Trabalhar com tabelas externas.
Tabelas delta
O termo mesa Delta é usado para descrever qualquer mesa apoiada pelo Delta Lake. Como as tabelas do site Delta são o default do Databricks, a maioria das referências a tabelas descreve o comportamento das tabelas do site Delta, salvo indicação em contrário.
A Databricks recomenda que o senhor sempre interaja com as tabelas Delta usando nomes de tabela totalmente qualificados em vez de caminhos de arquivo.
tabelas de transmissão
As tabelas de transmissão são Delta e são usadas principalmente para processar dados incrementais. A maioria das atualizações das tabelas de transmissão ocorre por meio do site refresh operações.
O senhor pode registrar tabelas de transmissão em Unity Catalog usando Databricks SQL ou defini-las como parte de um Delta Live Tables pipeline. Consulte as tabelas Load use de dados transmission em Databricks SQL. e What is Delta Live Tables?
Tabelas estrangeiras
As tabelas estrangeiras representam dados armazenados em sistemas externos conectados a Databricks por meio da lakehouse Federation. As tabelas estrangeiras são somente leitura nos Databricks. Veja o que é lakehouse Federation.
tabelas de recursos
Qualquer tabela Delta gerenciada por Unity Catalog que tenha um key primário é uma tabela de recurso. Opcionalmente, o senhor pode configurar tabelas de recurso usando o repositório de recursos on-line para casos de uso de baixa latência. Consulte Trabalhar com recurso em workspace repositório de recursos.
Tabelas Hive (legado)
As tabelas Hive descrevem dois conceitos distintos no Databricks, sendo que ambos são padrões legados e não são recomendados.
As tabelas registradas usando o legado Hive metastore armazenam dados no legado DBFS root, por default. A Databricks recomenda a migração de todas as tabelas do HMS legado para o Unity Catalog. Consulte Objetos de banco de dados no site legado Hive metastore.
O Apache Spark suporta o registro e a consulta de tabelas Hive, mas esses codecs não são otimizados para o Databricks. A Databricks recomenda o registro de tabelas Hive apenas para dar suporte a consultas de dados gravados por sistemas externos. Consulte Tabela Hive (legado).
Tabelas dinâmicas (obsoletas)
O termo tabelas dinâmicas refere-se a uma implementação anterior da funcionalidade agora implementada como visualização materializada. Qualquer código legado que faça referência a tabelas ativas deve ser atualizado para usar a sintaxe da visualização materializada. Consulte O que é Delta Live Tables? e Use materialized view in Databricks SQL.
Permissões básicas de tabela
Para criar uma tabela, os usuários devem ter as permissões CREATE TABLE
e USE SCHEMA
no esquema e devem ter a permissão USE CATALOG
em seu catálogo pai. Para consultar uma tabela, os usuários devem ter a permissão SELECT
na tabela, a permissão USE SCHEMA
em seu esquema pai e a permissão USE CATALOG
em seu catálogo pai.
Para obter mais informações sobre as permissões do site Unity Catalog, consulte gerenciar privilégios em Unity Catalog.