Introdução às tabelas do Databricks
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 | 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 |
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.
Formatos de armazenamento: Delta Lake e Apache Iceberg
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 tabela aberta: Delta Lake e Apache Iceberg. Esses formatos adicionam uma camada de armazenamento transacional que rastreia metadados e permite ACID compliance, viagem do tempo e outros recursos.
- 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.
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. Consulte Unity Catalog gerenciar tabelas em Databricks para Delta Lake e Apache Iceberg .
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 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 Trabalhar com 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 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.