Pular para o conteúdo principal

Tabelas e visualização em ETL

Este artigo fornece uma visão geral conceitual dos tipos de tabelas e visualizações em Databricks, com ênfase nas práticas recomendadas e recomendações para trabalhar com tabelas e visualizações para cargas de trabalho em ETL.

Tabelas e visualização

Uma tabela é um site estruturado dataset armazenado em um local específico. A Databricks recomenda o uso de tabelas com o suporte do formato Delta Lake para todas as tabelas criadas ou atualizadas na Databricks. As tabelas armazenam dados no storage e podem ser consultadas e manipuladas usando SQL comando ou DataFrame APIs, suportando operações como insert, update, delete e merge. Veja os conceitos básicos da tabela Delta.

A view é uma tabela virtual definida por uma consulta SQL. O site view não armazena dados por si só. Em vez disso, o site view oferece uma maneira de apresentar dados de uma ou mais tabelas em um formato ou abstração específicos. são úteis para simplificar consultas complexas, encapsular a lógica comercial e fornecer uma interface consistente para os dados subjacentes sem duplicar o armazenamento. Consulte O que é um view?

Noções básicas sobre a mesa Delta

Databricks usa Delta Lake como o formato default ao criar tabelas. As mesas apoiadas pelo Delta Lake também são conhecidas como mesas Delta . Uma tabela Delta armazena dados como um diretório de arquivos no armazenamento de objetos na nuvem e registra os metadados dessa tabela no metastore em um catálogo e esquema.

Todas as tabelas gerenciar Unity Catalog são tabelas Delta. As tabelas de transmissão e a visualização materializada são implementações especiais das tabelas Delta.

As tabelas Delta contêm linhas de dados que podem ser consultadas e atualizadas usando APIs SQL, Python e Scala. Os usuários finais interagem com essas tabelas da mesma forma que fariam em qualquer outro banco de dados. As tabelas apoiadas pelo Delta Lake também podem ser consultadas por sistemas fora do Databricks. Consulte Access Databricks uso de dados sistemas externos.

Embora seja possível 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. Para obter mais informações sobre outros tipos de tabela que usam formatos diferentes de Delta Lake, consulte Work with external tables (Trabalhar com tabelas externas).

Diferenças entre as tabelas Delta, as tabelas de transmissão e a visualização materializada

A tabela a seguir responde a perguntas frequentes sobre as diferenças entre as tabelas Delta, as tabelas de transmissão e a visualização materializada.

important

Delta As tabelas descritas abaixo incluem tabelas gerenciar e externas apoiadas pelo site Delta Lake. Unity Catalog As tabelas gerenciar têm otimizações e recursos que não são suportados por tabelas externas.

Pergunta

Mesa Delta

Tabela de transmissão

Visualização materializada

O que é isso?

Tabelas apoiadas pelo Delta Lake, suportando transações ACID, imposição de esquema e outros Delta Lake recursos.

Uma tabela Delta que foi estendida para casos de uso de transmissão declarativa e processamento incremental.

O resultado de uma consulta cujo resultado é sempre pré-computado e correto.

Para quais casos de uso ele é recomendado?

Todas as operações que consultam ou salvam dados em Databricks.

Código declarativo que faz o seguinte:

  • Ingestão de fontes somente para anexos
  • Transformações de baixa latência

Código declarativo que faz o seguinte:

  • Transformações incrementais
  • lotes transformações

Como é povoado?

Código processual (INSERT, UPDATE, MERGE, substituição de partição usando replaceWhere)

Código declarativo, incluindo:

  • Append transmissão
  • APLICAR MUDANÇAS transmissão
  • Uma vez flui

Consultas declarativas

O que é o tipo de objeto no Unity Catalog?

Tabela

Tabela de transmissão

Visualização materializada

Quem pode atualizá-lo?

Qualquer escritor que possa atualizar uma tabela Delta.

Somente o site pipeline que define a tabela de transmissão pode atualizá-la.

Somente o site pipeline que define o site materializado view pode atualizá-lo.

Com qual recurso Delta Lake ele é compatível?

Suporta todos os Delta Lake recurso.

Não suporta:

  • Otimização preditiva

Não suporta:

  • Otimização preditiva