Pular para o conteúdo principal

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.

Exemplo de tabela contendo dados de funcionários

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:

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 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

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.