O que são tabelas e vistas?

Tabelas e visualizações são conceitos fundamentais no Databricks para organizar e acessar dados.

Uma tabela é um conjunto de dados estruturado armazenado em um local específico, normalmente no formato Delta Lake. As tabelas armazenam dados reais no armazenamento e podem ser consultadas e manipuladas usando comandos SQL ou APIs DataFrame, suportando operações como inserir, atualizar, excluir e mesclar. Consulte O que é uma tabela?.

Um modo de exibição é uma tabela virtual definida por uma consulta SQL. Um modo de exibição não armazena dados por si só. Em vez disso, um modo de exibição fornece uma maneira de apresentar dados de uma ou mais tabelas em um formato ou abstração específicos. As exibições são úteis para simplificar consultas complexas, encapsular a lógica de negócios e fornecer uma interface consistente para os dados subjacentes sem duplicar o armazenamento. Consulte O que é uma vista?.

Tabelas e visualizações no Catálogo Unity

As tabelas e exibições são governadas usando o Catálogo Unity. No Unity Catalog, as tabelas e exibições ficam no terceiro nível do namespace de três níveis (catalog.schema.table), conforme mostrado no diagrama a seguir.

Diagrama de modelo de objeto do Unity Catalog, focado na tabela

Diferenças entre tabelas Delta, tabelas de streaming e visualizações materializadas

A tabela a seguir responde a perguntas frequentes sobre as diferenças entre tabelas Delta, tabelas de streaming e exibições materializadas.

Pergunta Tabela delta ST MV
O que é? Tabelas padrão armazenadas no formato Delta Lake, suportando transações ACID, imposição de esquema e outros recursos Delta Lake. Uma tabela Delta regular que foi estendida para casos de uso de streaming e processamento incremental. O resultado de uma consulta cujo resultado é sempre pré-calculado e correto.
Para que casos de uso é recomendado? Código de procedimento que faz o seguinte:

- Ingestão
- Transformação
Código declarativo que faz o seguinte:

- Ingestão de fontes anexas
- Transformações de baixa latência
Código declarativo que faz o seguinte:

- Transformações incrementais
- Transformações em lote
Como é povoado? Código de procedimento (INSERT, UPDATE, MERGE, substituição de partição usando replaceWhere) Código declarativo incluindo:

- Acrescentar fluxos
- APLICAR FLUXOS DE ALTERAÇÕES
- Uma vez que flui
Consultas declarativas
Qual é o tipo de objeto no Unity Catalog? Tabela Tabela Vista
Quem pode atualizá-lo? Qualquer gravador que possa atualizar uma tabela Delta. Somente o pipeline que define a tabela de streaming pode atualizá-la. Somente o pipeline que define a exibição materializada pode atualizá-la.
Com que características do Delta Lake é compatível? Suporta todos os recursos do Delta Lake. Não suporta:

- Particionamento de líquidos
- Otimização Preditiva
Não suporta:

- Particionamento de líquidos
- Otimização Preditiva