Pular para o conteúdo principal

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.

Exemplo de tabela contendo dados de funcionários

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.

Diagrama do modelo de objeto do Unity Catalog, com foco na tabela

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

CREATE TABLE no esquema que o contém

Consultar uma tabela

SELECT na mesa

Atualizar, excluir, merge ou inserir dados em uma tabela

SELECT e MODIFY na mesa

Solte uma mesa

MANAGE na mesa

Substituir uma tabela

MANAGE na tabela, CREATE TABLE no esquema que o contém

Para obter mais informações sobre as permissões do site Unity Catalog, consulte gerenciar privilégios em Unity Catalog.