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!
Dados
© 2024. All rights reserved.