Delta Lake ist ein Open-Source Storage Layer für einen zuverlässigen Data Lake. ACID-Transaktionen, Schema Enforcement und Time Travel über Parquet.
Warum Delta Lake¶
Löst inkonsistente Lesevorgänge und fehlendes Schema Enforcement durch ein Transaktionslog.
Wichtige Funktionen¶
- ACID-Transaktionen
- Schema Enforcement/Evolution
- Time Travel
- MERGE (Upsert)
from delta import DeltaTable
df.write.format("delta").save("/data/orders")
# Time Travel
spark.read.format("delta").option("versionAsOf", 5).load("/data/orders")
# MERGE
dt = DeltaTable.forPath(spark, "/data/orders")
dt.alias("t").merge(new.alias("s"), "t.order_id = s.order_id")\
.whenMatchedUpdateAll().whenNotMatchedInsertAll().execute()
OPTIMIZE delta.`/data/orders` ZORDER BY (customer_id)
VACUUM delta.`/data/orders` RETAIN 168 HOURS
Zusammenfassung¶
Delta Lake bringt Warehouse-Zuverlässigkeit in den Data Lake. Grundlage der Lakehouse-Architektur.
delta lakeaciddata lakelakehouse