O que é uma mesa?
Uma tabela reside em um esquema e contém linhas de dados. O tipo de tabela default criado em Databricks é uma tabela gerenciar Unity Catalog.
O principal diferenciador dos tipos de tabela no Databricks é o catálogo proprietário, conforme descrito na tabela a seguir:
Tipo de mesa | Gerenciando o catálogo |
---|---|
Gerenciadas | Unity Catalog |
Externo | Nenhuma |
Externo | Um sistema externo ou serviço de catálogo |
O exemplo a seguir mostra uma tabela chamada prod.people_ops_employees
que contém dados sobre cinco funcionários. Os metadados são registrados no Unity Catalog e os dados são armazenados no armazenamento em nuvem.
gerenciar tabelas
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 Databricks em um sistema de armazenamento externo, como o armazenamento de objetos na nuvem. 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 Lake. 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 estrangeiras
As tabelas estrangeiras representam dados armazenados em sistemas externos conectados a Databricks por meio da lakehouse Federation ou da Hive metastore federation. As tabelas estrangeiras são somente leitura nos Databricks. Consulte Trabalhar com tabelas estrangeiras.
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 no diagrama a seguir.
Permissões básicas de tabela
A maioria das operações de tabela requer permissões USE CATALOG
e USE SCHEMA
no catálogo e no esquema que contém uma tabela.
A tabela a seguir resume as permissões adicionais necessárias para operações comuns de tabela no Unity Catalog:
Operação | Permissões |
---|---|
Criar tabela |
|
Consultar uma tabela |
|
Atualizar, excluir, merge ou inserir dados em uma tabela |
|
Solte uma mesa |
|
Substituir uma tabela |
|
Para obter mais informações sobre as permissões do site Unity Catalog, consulte gerenciar privilégios em Unity Catalog.
O que é uma tabela Delta?
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 na nuvem e registra os metadados da tabela no metastore em um catálogo e esquema. Consulte O que é o Delta Lake?
Delta Lake é o formato default usado sempre que o senhor salva dados ou cria uma tabela em Databricks. 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.
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.
A tabela a seguir descreve tabelas Delta comuns que o senhor pode encontrar no Databricks:
Tipo de mesa | Descrição |
---|---|
Unity Catalog gerenciar mesa | Sempre com o apoio da Delta Lake. O site default e o tipo de tabela recomendado em Databricks. Oferece muitas otimizações integradas. |
Tabela externa do Unity Catalog | Opcionalmente, pode ser apoiado pelo Delta Lake. Oferece suporte a alguns padrões de integração herdados com clientes externos do Delta Lake. |
Tabela de transmissão | Um DLT dataset apoiado por Delta Lake que inclui uma definição de fluxo append ou |
Visualização materializada | Um DLT dataset apoiado por Delta Lake que materializa os resultados de uma consulta usando a lógica de fluxo gerencial. |
tabelas de recursos | Qualquer tabela gerenciar Unity Catalog ou tabela externa com um key primário declarado. Usado em cargas de trabalho de ML em Databricks. |
Tabela estrangeira do Unity Catalog | Pode ser apoiado pela Delta Lake, dependendo do catálogo estrangeiro. As tabelas estrangeiras apoiadas por Delta Lake não têm muitas otimizações presentes nas tabelas gerenciadas por Unity Catalog. |
Hive metastore tabela | Hive metastore As tabelas incluem tabelas estrangeiras em um federado interno ou externo Hive metastore e tabelas no legado workspace Hive metastore. As tabelas gerenciar e Hive metastore externas podem, opcionalmente, ser apoiadas por Delta Lake. |
Outros tipos de mesa
Embora as tabelas gerenciar, externa e estrangeira sejam os tipos fundamentais de tabela em Databricks, alguns produtos, recursos e sintaxe fazem outras distinções. Esta seção descreve algumas dessas outras tabelas.
tabelas de transmissão
As tabelas de transmissão são Delta tabelas usadas para processar dados incrementais em DLT. 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 DLT pipeline. Consulte Como funcionam as tabelas de transmissão, Carregar tabelas de transmissão de uso de dados em Databricks SQL e O que é DLT?
tabelas de recursos
Qualquer tabela Delta gerenciada por Unity Catalog que tenha um key primário é uma tabela de recurso. Consulte Trabalhar com tabelas de recurso em Unity Catalog.
Tabelas online
Uma tabela on-line é uma cópia somente leitura de uma tabela Delta que é armazenada em um formato orientado por linha otimizado para acesso on-line. Consulte Use online tables for tempo real Feature Serving.
Tabelas Hive (legado)
Hive descrevem tabelas implementadas usando padrões legados, inclusive os codecs legados Hive metastore, Hive SerDe ou a sintaxe Hive SQL .
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.
Opcionalmente, o senhor pode federar um Hive metastore a Unity Catalog. Consulte Hive metastore federation: habilite Unity Catalog para governar tabelas registradas em um 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 é DLT? e Use materialized view in Databricks SQL.