Como Trabalhar com Delta Tables no Microsoft Fabric

O Microsoft Fabric é uma plataforma unificada de análise de dados que permite processar, armazenar e visualizar informações de forma escalável. Um dos recursos mais poderosos dessa plataforma é o suporte a Delta Tables, que oferecem armazenamento transacional otimizado para grandes volumes de dados. Neste artigo, você aprenderá como utilizar Delta Tables dentro do Microsoft Fabric para garantir eficiência e confiabilidade em seus pipelines de dados.

FABRICDICASDELTA TABLE

Henrique Bueno

4/2/20252 min read

O que são Delta Tables?

Delta Tables são uma extensão do formato Apache Parquet, projetadas para suportar transações ACID, versionamento de dados e processamento incremental. Elas são ideais para ambientes de Data Lakehouse, pois combinam a flexibilidade do Data Lake com a confiabilidade dos Data Warehouses.

Benefícios das Delta Tables:

  • Transações ACID: Garante integridade dos dados em operações concorrentes.

  • Time Travel: Permite consultar versões anteriores da tabela.

  • Processamento Incremental: Apenas os dados alterados são processados.

  • Melhor Gerenciamento de Schema: Suporte a mudanças estruturais sem perda de dados.

  • Alto Desempenho: Indexação e compactação melhoram consultas e ingestão de dados.

Como Criar e Manipular Delta Tables no Microsoft Fabric

O Microsoft Fabric permite trabalhar com Delta Tables dentro do Lakehouse, usando Spark SQL e PySpark. Veja a seguir os principais passos para criar e gerenciar Delta Tables.

1. Criando uma Delta Table

Para criar uma Delta Table em um Lakehouse no Microsoft Fabric, utilize Spark SQL:

CREATE TABLE lakehouse.dbo.sales_data ( id INT, product STRING, amount DECIMAL(10,2), sale_date DATE ) USING DELTA;

Ou via PySpark:

from pyspark.sql import SparkSession from delta.tables import * spark = SparkSession.builder.appName("FabricDeltaExample").getOrCreate() data = [(1, "Produto A", 100.50, "2024-03-01"), (2, "Produto B", 250.00, "2024-03-02")] df = spark.createDataFrame(data, ["id", "product", "amount", "sale_date"]) df.write.format("delta").mode("overwrite").save("/lakehouse/delta/sales_data")

2. Inserindo e Atualizando Dados

Para adicionar novos registros:

INSERT INTO lakehouse.dbo.sales_data VALUES (3, 'Produto C', 180.75, '2024-03-03');

Para realizar um MERGE (atualização ou inserção condicional):

MERGE INTO lakehouse.dbo.sales_data AS target USING (SELECT 3 AS id, 'Produto C' AS product, 200.00 AS amount, '2024-03-03' AS sale_date) AS source ON target.id = source.id WHEN MATCHED THEN UPDATE SET target.amount = source.amount WHEN NOT MATCHED THEN INSERT (id, product, amount, sale_date) VALUES (source.id, source.product, source.amount, source.sale_date);

3. Consultando Dados e Time Travel

Para consultar a tabela normalmente:

SELECT * FROM lakehouse.dbo.sales_data;

Para recuperar uma versão anterior da tabela:

SELECT * FROM lakehouse.dbo.sales_data VERSION AS OF 5;

Ou recuperar a tabela em um determinado momento:

SELECT * FROM lakehouse.dbo.sales_data TIMESTAMP AS OF '2024-03-02 12:00:00';

4. Otimização e Manutenção

Para melhorar a performance das consultas, use o comando OPTIMIZE para compactação e reindexação:

OPTIMIZE lakehouse.dbo.sales_data;

Para remover versões antigas e liberar espaço:

VACUUM lakehouse.dbo.sales_data RETAIN 30 HOURS;

Conclusão

Delta Tables são um recurso essencial dentro do Microsoft Fabric para garantir integridade, eficiência e flexibilidade no processamento de dados. Com suporte a transações ACID, versionamento e processamento incremental, elas permitem um gerenciamento mais robusto dentro do Lakehouse. Aplicando os conceitos e comandos apresentados neste artigo, você pode otimizar seus pipelines e obter insights mais rápidos e confiáveis.

Gostou do conteúdo? Continue acompanhando o BI com Bueno para mais dicas sobre Microsoft Fabric, Power BI e análise de dados!