O que é o Delta Lake?
Delta Lake é a camada de armazenamento otimizada que fornece a base para as tabelas em um lakehouse em Databricks. O Delta Lake é um software de código aberto que amplia os arquivos de dados Parquet com um log de transações baseado em arquivo para transações ACID e manipulação de metadados dimensionável. Delta Lake é totalmente compatível com o site Apache Spark APIs, e foi desenvolvido para uma forte integração com a transmissão estruturada, permitindo que o senhor utilize facilmente uma única cópia de dados para operações de lotes e transmissão e proporcionando processamento incremental em escala.
Delta Lake é o formato default para todas as operações em Databricks. A menos que especificado de outra forma, todas as tabelas em Databricks são tabelas Delta. A Databricks desenvolveu originalmente o protocolo Delta Lake e continua a contribuir ativamente com o projeto de código aberto. Muitas das otimizações e produtos da plataforma Databricks se baseiam nas garantias fornecidas por Apache Spark e Delta Lake. Para obter informações sobre otimizações em Databricks, consulte Recomendações de otimização em Databricks.
Para obter informações de referência sobre Delta Lake SQL comando, consulte Delta Lake statements.
O log de transações do Delta Lake tem um protocolo aberto bem definido que pode ser usado por qualquer sistema para ler o log. Consulte Protocolo de log de transações delta.
Como começar a usar o Delta Lake
Todas as tabelas em Databricks são tabelas Delta por default. Se o senhor estiver usando Apache Spark DataFrames ou SQL, o senhor obtém todos os benefícios do Delta Lake simplesmente salvando seus dados no lakehouse com as configurações do default.
Para obter exemplos de operações básicas do Delta Lake, como criação de tabelas, leitura, gravação e atualização de dados, consulte o tutorial: Delta Lake.
A Databricks tem muitas recomendações de práticas recomendadas para o Delta Lake.
Conversão e ingestão de dados para o Delta Lake
O Databricks oferece diversos produtos para acelerar e simplificar o carregamento de dados em seu lakehouse.
-
DLT:
-
Converta gradualmente dados de Parquet ou Iceberg em Delta Lake
-
Conversão única de dados de Parquet ou Iceberg em Delta Lake
Para obter uma lista completa das opções de ingestão, consulte Ingestão de dados em um lakehouse da Databricks.
Atualização e modificação das tabelas do Delta Lake
As transações atômicas com Delta Lake fornecem muitas opções para atualizar dados e metadados. O Databricks recomenda que você evite a interação direta com os arquivos de dados e os arquivos de registro de transações nos diretórios de arquivos do Delta Lake para evitar a corrupção de suas tabelas.
- Delta Lake suporta upserts usando o merge operações. Consulte Upsert em uma tabela Delta Lake usando merge.
- O Delta Lake oferece várias opções para substituições seletivas com base em filtros e partições. Consulte Substituição seletiva de dados com o Delta Lake.
- Você pode atualizar manual ou automaticamente o esquema da tabela sem reescrever os dados. Consulte Atualizar o esquema da tabela Delta Lake.
- Ative o mapeamento de colunas para renomear ou excluir colunas sem reescrever dados. Consulte Renomear e soltar colunas com o mapeamento de colunas do Delta Lake.
Cargas de trabalho incrementais e de transmissão no Delta Lake
Delta Lake é otimizado para transmissão estruturada em Databricks. A DLT amplia os recursos nativos com implementação de infraestrutura simplificada, dimensionamento aprimorado e dependências de dados gerenciais.
- Delta leituras e gravações de transmissão de tabelas
- Usar o feed de dados de alteração do Delta Lake no Databricks
Consultando versões anteriores de uma tabela
Cada gravação em uma tabela Delta cria uma nova versão da tabela. O senhor pode usar o log de transações para analisar as modificações na tabela e consultar versões anteriores da tabela. Consulte Work with Delta Lake table história.
Aprimoramentos no esquema do Delta Lake
O Delta Lake valida o esquema durante a gravação, assegurando que todos os dados gravados em uma tabela estejam em conformidade com os requisitos que você definiu.
- Imposição de esquema
- Restrições no Databricks
- Delta Lake colunas geradas
- Enriqueça as tabelas do Delta Lake com metadados personalizados
Gerenciando arquivos e indexando dados com o Delta Lake
O Databricks define diversos parâmetros padrão para o Delta Lake que influenciam o tamanho dos arquivos de dados e a quantidade de versões de tabela mantidas no histórico O Delta Lake usa uma combinação de análise de metadados e layout de dados físicos para reduzir o número de arquivos verificados para atender a qualquer consulta.
- Usar cluster líquido para tabelas Delta
- Ignorar dados para Delta Lake
- Otimizar a disposição do arquivo de dados
- Remova arquivos de dados não utilizados com vacuum
- Configurar o Delta Lake para controlar o tamanho do arquivo de dados
Configuração e revisão das configurações do Delta Lake
O Databricks armazena todos os dados e metadados das tabelas do Delta Lake no armazenamento de objetos na nuvem. Muitas configurações podem ser definidas na tabela ou na sessão do Spark. Você pode revisar os detalhes da tabela Delta para descobrir quais opções estão configuradas.
- Revise as informações da tabela Delta Lake com os detalhes da descrição
- Referência de propriedades da tabela delta
pipeline de dados usando Delta Lake e DLT
A Databricks incentiva os usuários a utilizar uma arquitetura de medalhão para processar dados por meio de uma série de tabelas à medida que os dados são limpos e enriquecidos. A DLT simplifica as cargas de trabalho de ETL por meio da execução otimizada e da implementação e dimensionamento automatizados da infraestrutura.
Delta Lake compatibilidade de recursos
Nem todos os recursos do Delta Lake estão em todas as versões do Databricks Runtime. Para obter informações sobre o Delta Lake versionamento, consulte Como o Databricks gerencia a compatibilidade do Delta Lake recurso?
Documentação da API do Delta Lake
Para a maioria das operações de leitura e gravação em tabelas Delta, o senhor pode usar as APIs Spark SQL ou Apache Spark DataFrame.
Para instruções SQL específicas do Delta Lake, consulte Instruções do Delta Lake.
A Databricks garante a compatibilidade binária com as APIs do Delta Lake no Databricks Runtime. Para view o pacote da versão Delta Lake API em cada versão Databricks Runtime, consulte a seção Ambiente do sistema nos artigos relevantes nas Databricks Runtime notas sobre a versão. Para obter a documentação sobre as APIs do Delta Lake para Python, Scala e Java, consulte a documentação do OSS Delta Lake.