Skip to content

Delta Lake

O que e?

Delta Lake adiciona transacoes ACID ao Data Lake. Desenvolvido pela Databricks.

Operacoes DML

INSERT

spark.sql("INSERT INTO delta.`s3a://bronze/pedidos` VALUES (4, 1, 2, 3, 450.00, 'pendente', '2024-02-01')")

UPDATE

dt = DeltaTable.forPath(spark, 's3a://bronze/pedidos')
dt.update(condition='id_pedido = 1', set={'status': "'entregue'"})

DELETE

dt.delete('id_pedido = 4')

Time Travel

dt.history().select('version', 'timestamp', 'operation').show()

Tabelas Gerenciadas vs Nao Gerenciadas

Tipo Descricao
Gerenciada Spark controla dados e metadados. Ao dropar, dados sao deletados
Nao Gerenciada Spark controla apenas metadados. Dados permanecem no storage

Neste projeto usamos tabelas NAO GERENCIADAS pois os dados ficam no MinIO.