O que são tabelas e visualizações?
Tabelas e exibiçõ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 inserção, atualização, exclusão e mesclagem. Consulte O que é uma tabela?.
Uma exibição é uma tabela virtual definida por uma consulta SQL. Uma exibição não armazena dados em si. Em vez disso, uma exibição fornece uma maneira de apresentar dados de uma ou mais tabelas em um formato ou abstração específico. 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 exibição?.
Tabelas e exibições no Catálogo do Unity
Tabelas e exibições são controladas usando o Catálogo do Unity. No Catálogo do Unity, 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.
Diferenças entre tabelas Delta, tabelas de streaming e exibiçõ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 | Tabela de streaming | Exibição materializada |
---|---|---|---|
O que é isso? | Tabelas padrão armazenadas no formato Delta Lake, com suporte a transações ACID, imposição de esquema e outros recursos do 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 quais casos de uso ele é recomendado? | Código de procedimento que faz o seguinte: -Ingestão -Transformação |
Código declarativo que faz o seguinte: - Ingestão de fontes somente de acréscimo - Transformações de baixa latência |
Código declarativo que faz o seguinte: - Transformações incrementais - Transformações em lote |
Como é preenchido? | Código de procedimento (INSERT , UPDATE , MERGE , substituição de partição usando replaceWhere ) |
Código declarativo incluindo: - Anexar fluxos - APLICAR fluxos CHANGES - Uma vez que flui |
Consultas declarativas |
Qual é o tipo de objeto no Catálogo do Unity? | Tabela | Tabela | Visualizar |
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 quais recursos do Delta Lake ele é compatível? | Suporta todos os recursos do Delta Lake. | Não é compatível com: - Particionamento líquido - Otimização preditiva |
Não é compatível com: - Particionamento líquido - Otimização preditiva |