Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Delta Lake é a camada de armazenamento otimizada que fornece a base para tabelas em um lakehouse no Databricks. O Delta Lake é um software de software livre que estende arquivos de dados Parquet com um log de transações baseado em arquivo para transações ACID e tratamento de metadados escalonáveis. O Delta Lake é totalmente compatível com as APIs do Apache Spark e foi desenvolvido para uma integração estreita com o Streaming Estruturado, permitindo que você use facilmente uma só cópia de dados para operações de lote e de 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. Originalmente, o Databricks desenvolveu o protocolo Delta Lake e continua contribuindo ativamente para o projeto de código aberto. Muitas das otimizações e dos produtos na Plataforma Databricks são baseadas nas garantias fornecidas pelo Apache Spark e pelo 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 SQL do Delta Lake, consulte as instruções delta lake.
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 o Protocolo de Log de Transações Delta.
Introdução ao Delta Lake
Todas as tabelas em Azure Databricks são tabelas delta lake por padrão. Se você estiver usando o Apache Spark DataFrames ou o SQL, você obtém todos os benefícios do Delta Lake apenas salvando seus dados no lakehouse com configurações padrão.
Para obter exemplos de operações básicas do Delta Lake, como criar tabelas, ler, gravar e atualizar dados, consulte Tutorial: Criar e gerenciar tabelas delta lake.
Para recomendações e práticas recomendadas do Databricks sobre como usar o Delta Lake, consulte as práticas recomendadas: Delta Lake.
Conversão e ingestão de dados no Delta Lake
O Azure Databricks tem muitos recursos para acelerar e simplificar o carregamento de dados para o seu lakehouse.
| Método | Descrição |
|---|---|
| Tutorial: Criar um pipeline ETL com Pipelines Declarativos do Lakeflow Spark | Crie um pipeline ETL de ponta a ponta com o Lakeflow Spark Declarative Pipelines. |
| Configurar a ingestão incremental do Azure Data Lake Storage | Configure a ingestão incremental a partir do armazenamento em nuvem usando o Auto Loader e o Lakeflow Spark Declarative Pipelines. |
| Tabelas de streaming | Use tabelas de streaming para ingestão apenas de acréscimos e streaming de baixa latência no Pipelines Declarativos do Lakeflow Spark. |
| Comece a usar COPY INTO para carregar dados | Carregue dados de forma incremental e idempotente do armazenamento em nuvem usando SQL. |
| O que é o Carregador Automático? | Ingerir arquivos do armazenamento em nuvem incrementalmente conforme eles chegam. |
| Criar ou modificar uma tabela usando o upload de arquivo | Carregue arquivos e crie tabelas da interface do usuário do Azure Databricks. |
| Clonar incrementalmente as tabelas Parquet e Apache Iceberg no Delta Lake | Clonar incrementalmente as tabelas Parquet ou Apache Iceberg no Delta Lake. |
| Converter em Delta Lake | Conversão única de tabelas Parquet ou Apache Iceberg para Delta Lake. |
| Parceiros de tecnologia | Conecte parceiros e ferramentas de terceiros ao seu Azure Databricks lakehouse. |
Para obter uma lista completa das opções de ingestão, consulte conectores Standard no Lakeflow Connect.
Atualizando e modificando tabelas do Delta Lake
As transações atômicas com o Delta Lake permitem que você use muitas opções para atualizar dados e metadados. Para evitar corromper suas tabelas, o Databricks recomenda que você evite interagir diretamente com arquivos de log de transações e dados nos diretórios de arquivos do Delta Lake.
| Operation | Descrição |
|---|---|
| Executar upsert em uma tabela Delta Lake usando mesclagem | Insira ou atualize dados em uma tabela do Delta Lake usando a operação de mesclagem. |
| Substituir dados seletivamente com o Delta Lake | Sobrescreva subconjuntos de dados com base em filtros e partições. |
| Atualizar esquemas de tabela com evolução do esquema | Atualize manual ou automaticamente o esquema da tabela sem reescrever dados. |
| Renomear e remover colunas usando o mapeamento de colunas do Delta Lake | Renomeie ou exclua colunas sem reescrever dados. |
Tarefas incrementais e de streaming no Delta Lake
O Delta Lake é otimizado para Streaming Estruturado no Azure Databricks. O Lakeflow Spark Declarative Pipelines estende os recursos nativos com implantação simplificada da infraestrutura, escalabilidade aprimorada e dependências de dados gerenciadas.
| Característica | Descrição |
|---|---|
| Leituras e gravações de streaming de tabelas do Delta Lake | Use tabelas do Delta Lake como fontes e coletores para Streaming Estruturado com readStream e writeStream. |
| Usar o feed de dados de alterações no Azure Databricks | Acompanhe as alterações no nível da linha entre as versões de uma tabela Delta Lake ou Apache Iceberg v3. |
Consultando versões anteriores de uma tabela
Cada operação de gravação em uma tabela Delta Lake cria uma nova versão da tabela. Você pode usar o log de transações para examinar modificações em sua tabela e consultar versões anteriores da tabela. Consulte Trabalhar com histórico de tabelas.
Aprimoramentos de esquema do Delta Lake
O Delta Lake valida o esquema na gravação, garantindo que todos os dados gravados em uma tabela correspondam aos requisitos definidos.
| Característica | Descrição |
|---|---|
| Imposição do esquema | Valide a qualidade dos dados aplicando um esquema durante a gravação. |
| Restrições no Azure Databricks | Aplique restrições de integridade impostas e chave primária informativa, chave estrangeira e restrições exclusivas. |
| Colunas geradas pelo Delta Lake | Gere valores de coluna automaticamente usando funções especificadas pelo usuário. |
| 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 mantidas no histórico. O Delta Lake usa uma combinação de análise de metadados e de layout de dados físicos para reduzir o número de arquivos verificados para atender a qualquer consulta.
| Característica | Descrição |
|---|---|
| Usar agrupamento líquido para tabelas | Simplifique o layout de dados e otimize o desempenho da consulta sem particionar usando clustering líquido. |
| Omissão de dados | Ignore arquivos irrelevantes no momento da consulta usando estatísticas de coluna, ordem Z e layout de dados otimizado. |
| Otimizar o layout do arquivo de dados | Compactar pequenos arquivos de dados para melhorar o desempenho da consulta. |
| Remover arquivos de dados não utilizados com vácuo | Remova arquivos de dados obsoletos para reduzir os custos de armazenamento. |
| Exclusão automática de linha com vida útil automática | Exclua automaticamente linhas de tabelas gerenciadas após um período de tempo configurável. |
| Controlar o tamanho do arquivo de dados | Controlar o tamanho do arquivo de destino manualmente ou habilitar o ajuste automático do tamanho do arquivo. |
Configurando e revisando configurações do Delta Lake
O Azure Databricks armazena todos os dados e os metadados para tabelas do Delta Lake no armazenamento de objetos de nuvem. Muitas configurações podem ser definidas no nível da tabela ou na sessão do Spark. Você pode examinar os detalhes da tabela Delta Lake para descobrir quais opções estão configuradas.
| Característica | Descrição |
|---|---|
| Examinar detalhes da tabela com detalhes de descrição | Exiba as configurações e os metadados da tabela usando o DESCRIBE DETAIL comando. |
| Referência de propriedades da tabela | Lista de referência de propriedades de tabela disponíveis para tabelas Delta Lake. |
Pipelines de dados usando o Delta Lake e os Pipelines Declarativos do Lakeflow Spark
O Azure Databricks incentiva os usuários a aproveitar 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. 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 de recursos e protocolos do Delta Lake.
Documentação da API do Delta Lake
Para a maioria das operações de leitura e de gravação em tabelas do Delta Lake, você pode usar Spark SQL ou APIs de DataFrame do Apache Spark.
Para instruções SQL específicas do Delta Lake, consulte as instruções delta lake.
O Azure Databricks garante a compatibilidade binária com as APIs do 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 da OSS Delta Lake.