Conceitos de tabelas do Databricks
Uma tabela do Databricks reside em um esquema e contém linhas de dados. O tipo de tabela default criado em Databricks é uma tabela gerenciar Unity Catalog.
O exemplo a seguir mostra uma tabela gerenciar chamada prod.people_ops_employees
que contém dados sobre cinco funcionários. Como uma tabela gerenciar, os arquivos de dados são armazenados no local de armazenamento gerenciar do Unity Catalog no armazenamento cloud.
Formatos de armazenamento
Os tipos de tabela no Databricks definem como os dados são de propriedade e acessados. Separadamente, o formato de armazenamento define como os dados são fisicamente estruturados e rastreados em disco.
A Databricks oferece suporte a dois formatos principais de armazenamento de tabela aberta:
- Delta Lake é o formato de armazenamento default para gerenciar e tabelas externas em Databricks.
- Apache Iceberg é suportado em tabelas gerenciais e estrangeiras em Databricks. Esse formato é útil quando o senhor está se integrando ao ecossistema do Iceberg.
Esses formatos acrescentam uma camada de armazenamento transacional que rastreia os metadados e permite a atomicidade, a consistência, o isolamento e a durabilidade (ACID) compliance, viagem do tempo e outros recursos.
Tipos de mesa
Databricks oferece três tipos de tabelas principais, cada uma projetada para diferentes cenários de gerenciamento de dados e modelos de propriedade. Sua escolha do tipo de tabela determina como Databricks gerenciar os arquivos de dados e metadados subjacentes.
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 | Suporte de leitura/gravação | Otimização do desempenho | Otimização do custo de armazenamento |
---|---|---|---|---|
Gerenciadas | Unity Catalog | Sim | Sim | Sim |
Externo | Nenhum (somente arquivos) | Sim | Somente manual | Somente manual |
Externo | Um sistema externo ou serviço de catálogo | Somente leitura | Não | Não |
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. Ver tabelas de gerenciar.
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 suporta 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 Tabelas externas.
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. Consulte Tabelas estrangeiras.
Tabelas no Unity Catalog
No Unity Catalog, as tabelas ficam 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 exige as 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.