Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Delta Lake é a camada de armazenamento otimizada que fornece a base para tabelas em uma casa de lago em Databricks. Delta Lake é um software de código aberto que estende os arquivos de dados do Parquet com um log de transações baseado em arquivo para transações ACID e manipulação de metadados escaláveis. O Delta Lake é totalmente compatível com APIs do Apache Spark e foi desenvolvido para uma integração total com o Structured Streaming, permitindo que você use facilmente uma única cópia de dados para operações em lote e streaming e fornecendo processamento incremental em escala.
Delta Lake é o formato padrão para todas as operações no Azure Databricks. Salvo especificação em contrário, todas as tabelas no Azure Databricks são tabelas Delta Lake. A Databricks desenvolveu originalmente o protocolo Delta Lake e continua a contribuir ativamente para o projeto de código aberto. Muitas das otimizações e produtos na plataforma Databricks se baseiam nas garantias fornecidas pelo Apache Spark e Delta Lake. Para obter informações sobre otimizações no Azure Databricks, consulte Recomendações de otimização no Azure Databricks.
Para obter informações de referência sobre comandos Delta Lake SQL, consulte Declarações Delta Lake.
O log de transações Delta Lake tem um protocolo aberto bem definido que pode ser usado por qualquer sistema para ler o log. Consulte Delta Transaction Log Protocol.
Introdução ao Delta Lake
Todas as tabelas no Azure Databricks são tabelas Delta Lake por defeito. Se você estiver usando Apache Spark DataFrames ou SQL, você obtém todos os benefícios do Delta Lake apenas salvando seus dados na lakehouse com as configurações padrão.
Para exemplos de operações básicas do Delta Lake, como criar tabelas, ler, escrever e atualizar dados, consulte o Tutorial: Criar e gerir tabelas do Delta Lake.
Para recomendações e melhores práticas do Databricks sobre a utilização de Delta Lake, veja Melhores práticas: Delta Lake.
Convertendo e ingerindo dados no Delta Lake
O Azure Databricks tem muitas funcionalidades para acelerar e simplificar o carregamento de dados para o seu lakehouse.
| Método | Description |
|---|---|
| Tutorial: Construir um pipeline ETL com Lakeflow Spark Declarative Pipelines | Construa um pipeline ETL de ponta a ponta usando Lakeflow Spark Declarative Pipelines. |
| Configurar a ingestão incremental a partir de Azure Data Lake Storage | Configure a ingestão incremental a partir de armazenamento na cloud usando Auto Loader e Lakeflow Spark Declarative Pipelines. |
| Tabelas de streaming | Utilize tabelas de streaming para ingestão apenas por acréscimo e streaming de baixa latência no Lakeflow Spark Declarative Pipelines. |
| Comece a usar o COPY INTO para carregar dados | Carregar dados de forma incremental e idempotente a partir do armazenamento na cloud usando SQL. |
| O que é Auto Loader? | Ingerir ficheiros do armazenamento na cloud de forma incremental à medida que chegam. |
| Criar ou modificar uma tabela usando o upload de arquivo | Carregar ficheiros e criar tabelas a partir da interface do Azure Databricks. |
| Clonar de forma incremental tabelas Parquet e Apache Iceberg para o Delta Lake | Clone de forma incremental tabelas Parquet ou Apache Iceberg para o Delta Lake. |
| Conversão para Delta Lake | Conversão única de tabelas Parquet ou Apache Iceberg para Delta Lake. |
| Parceiros tecnológicos | Ligue parceiros e ferramentas de terceiros ao seu lakehouse no Azure Databricks. |
Para obter uma lista completa das opções de ingestão, consulte Conectores padrão no Lakeflow Connect.
Atualizando e modificando tabelas Delta Lake
As transações atómicas com o Delta Lake permitem-lhe usar várias opções para atualizar dados e metadados. Para evitar corromper as suas tabelas, o Databricks recomenda que evite interagir diretamente com dados e ficheiros de registo de transações nos diretórios de ficheiros do Delta Lake.
| Operation | Description |
|---|---|
| Inserir ou atualizar numa tabela do Delta Lake com merge | Inserir ou atualizar dados numa tabela Delta Lake usando a operação MERGE. |
| Sobrescrever seletivamente dados com Delta Lake | Sobrescrever subconjuntos de dados com base em filtros e partições. |
| Atualize os esquemas das tabelas com a evolução dos esquemas | Atualize manual ou automaticamente o esquema da tabela sem reescrever os dados. |
| Renomear e eliminar colunas com mapeamento de colunas Delta Lake | Renomeie ou elimine colunas sem reescrever os dados. |
Cargas de trabalho incrementais e de streaming no Delta Lake
O Delta Lake é otimizado para Streaming Estruturado no Azure Databricks. O Lakeflow Spark Declarative Pipelines estende capacidades integradas com uma implementação simplificada da infraestrutura, escalabilidade melhorada e dependências de dados geridas.
| Feature | Description |
|---|---|
| Leituras e escritas em fluxo da tabela Delta Lake | Use tabelas Delta Lake como fontes e sumidouros para Streaming Estruturado com readStream e writeStream. |
| Utilize o feed de dados de alteração no Azure Databricks | Rastreie as alterações ao nível da linha entre versões de uma tabela Delta Lake ou Apache Iceberg v3. |
Consultar versões anteriores de uma tabela
Cada escrita numa tabela Delta Lake cria uma nova versão da tabela. Pode utilizar o registo de transações para rever as modificações à tabela e consultar versões de tabela anteriores. Ver Trabalhar com histórico de tabelas.
Aprimoramentos do esquema Delta Lake
O Delta Lake valida o esquema na gravação, garantindo que todos os dados gravados em uma tabela correspondam aos requisitos definidos.
| Feature | Description |
|---|---|
| Aplicação do esquema | Valide a qualidade dos dados aplicando o esquema na escrita. |
| Restrições no Azure Databricks | Aplicar restrições de integridade impostas e restrições de chave primária informacional, chave estrangeira e única. |
| Colunas geradas pelo Lago Delta | Gerar automaticamente os valores das colunas usando funções especificadas pelo utilizador. |
| Enriquecer tabelas com metadados personalizados | Adicione comentários e metadados personalizados a tabelas e colunas para enriquecer a descoberta de dados. |
Gerenciando arquivos e indexando dados com o Delta Lake
O Azure Databricks define muitos parâmetros padrão para o Delta Lake que afetam o tamanho dos arquivos de dados e o número de versões de tabela que são retidas 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 digitalizados para atender a qualquer consulta.
| Feature | Description |
|---|---|
| Usar agrupamento líquido para tabelas | Simplifique o esquema dos dados e otimize o desempenho das consultas sem usar particionamento, recorrendo ao agrupamento líquido. |
| Salto de dados | Ignora ficheiros irrelevantes no momento da consulta usando estatísticas de coluna, ordem Z e layout otimizado dos dados. |
| Otimizar o layout do arquivo de dados | Compacte pequenos ficheiros de dados para melhorar o desempenho das consultas. |
| Remover arquivos de dados não utilizados com vácuo | Remova ficheiros de dados obsoletos para reduzir custos de armazenamento. |
| Eliminação automática de linhas com tempo de vida automático | Eliminar automaticamente linhas das tabelas geridas após um período de tempo configurável. |
| Tamanho do ficheiro de dados de controlo | Controlar manualmente o tamanho do ficheiro-alvo ou ativar a afinação automática do tamanho do ficheiro. |
Definindo e revisando as configurações do Delta Lake
O Azure Databricks armazena todos os dados e metadados para tabelas Delta Lake no armazenamento de objetos na nuvem. Muitas configurações podem ser definidas no nível da tabela ou dentro da sessão do Spark. Pode rever os detalhes da tabela Delta Lake para descobrir que opções estão configuradas.
| Feature | Description |
|---|---|
| Revise os detalhes da tabela com a função descrever detalhe | Veja configurações da tabela e metadados usando o DESCRIBE DETAIL comando. |
| Referência de propriedades da tabela | Lista de referência das propriedades de tabela disponíveis para as tabelas Delta Lake. |
Pipelines de dados usando Delta Lake e Lakeflow Spark Declarative Pipelines
O Azure Databricks incentiva os utilizadores a tirar partido de uma Arquitetura Medallion para processar dados através de uma série de tabelas à medida que os dados são limpos e enriquecidos. O Lakeflow Spark Declarative Pipelines simplifica as cargas de trabalho de ETL por meio de execução otimizada e implantação e dimensionamento automatizados de infraestrutura.
Compatibilidade de funcionalidades do Delta Lake
Nem todos os recursos do Delta Lake estão em todas as versões do Databricks Runtime. Para obter informações sobre o controle de versão do Delta Lake, consulte Compatibilidade e protocolos de recursos do Delta Lake.
Documentação da API Delta Lake
Para a maioria das operações de leitura e escrita em tabelas Delta Lake, pode usar APIs Spark SQL ou Apache Spark DataFrame .
Para instruções SQL específicas do Delta Lake, consulte Instruções do Delta Lake.
O Azure Databricks garante compatibilidade binária com APIs Delta Lake no Databricks Runtime. Para exibir a versão da API Delta Lake empacotada em cada versão do Databricks Runtime, consulte a seção Ambiente do sistema no artigo relevante nas notas de versão do Databricks Runtime. Para obter documentação sobre as APIs Delta Lake para Python, Scala e Java, consulte a documentação do OSS Delta Lake.