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.
O senhor pode 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.
As tabelas armazenam linhas de dados. Uma tabela reside em um esquema e contém linhas de dados. O exemplo a seguir mostra uma tabela prod.people_ops_employees que contém dados sobre cinco funcionários. Os metadados são registrados em Unity Catalog e os dados são armazenados no armazenamento cloud.
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 saber mais sobre as permissões do site Unity Catalog, consulte gerenciar privilégios em Unity Catalog.
Tabelas no Unity Catalog
No Unity Catalog, as tabelas estão no terceiro nível do namespace de três níveis (catalog.schema.table
), conforme mostrado na tabela a seguir. As tabelas externas do Unity Catalog podem ser tabelas Delta, mas não precisam ser.
Tabelas delta
Com o suporte de Delta Lake, 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. Como as tabelas do site Delta são o default do site Databricks, a maioria das referências a tabelas descreve o comportamento das tabelas do site Delta, salvo indicação em contrário. Todas as tabelas Unity Catalog gerenciar e as tabelas de transmissão são tabelas Delta. Veja [_} (/tables/delta-tables-how-it-works.md).
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 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, fazem referência a dados armazenados fora do site Databricks em um sistema de armazenamento externo, como o armazenamento de objetos cloud. Eles dissociam o gerenciamento dos arquivos de dados subjacentes do registro do metastore. O Unity Catalog é compatível com tabelas externas em vários formatos, incluindo Delta. 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 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 Como funcionam as tabelas de transmissão, Carregar tabelas de transmissão de uso de dados em Databricks SQL e O que é 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 recursos usando o site Feature Store para casos de uso de baixa latência. Consulte Trabalhar com tabelas de recursos 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 ativas (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.