🧠 一句话先说清楚:
Delta Lake 是 Microsoft Fabric 中用来存储 Lakehouse 表数据的“聪明结构”, 它不仅能存数据,还能记住你做过的所有操作,支持时间回溯、数据更新、版本控制, 简直就是数据仓库里的“黑匣子”。
很多人一听就懵:“Lakehouse、Data Lake、Delta Table、Parquet……到底啥是啥?”
来,咱们捋一捋:
Parquet:是一种文件格式,像 CSV,但更高级,压缩好、读取快,适合做分析。
Delta Lake:是一种表结构,底层用 Parquet 存数据,但还加了日志、版本控制等功能。
你可以理解为:
🧱 Parquet 是砖头, 🏠 Delta Lake 是房子, 房子里不仅有砖头,还有门窗、电路、结构图。
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🔍 Delta Lake 有哪些“聪明功能”?
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FactInternetSales/├── _delta_log/│ ├── 00000.json│ ├── 00001.json├── part-00000.parquet├── part-00001.parquet
每次你更新数据,系统会:
生成新的 Parquet 文件(旧的还在)
在
_delta_log里加一条记录,说明你改了啥
🧪 怎么创建 Delta 表?
有两种方式:
1. 在 Fabric 的 Lakehouse 里建表
系统自动用 Delta Lake 结构,不用你操心。
2. 用代码建表(比如 Notebook)
df = spark.read.csv("路径")df.write.mode("overwrite").format("delta").save("Tables/Sales")
⏪ 时间旅行怎么用?
比如你想查 2024 年 4 月 28 日的数据快照:
df_old = spark.read.format("delta").option("timestampAsOf", "2024-04-28").load("Tables/FactInternetSales")
🧹 清理和优化也很智能
Fabric 会自动帮你做这些事:
OPTIMIZE:整理文件结构,提升查询速度VACUUM:清理旧文件,节省空间Z-Order/V-Order:加速某些字段的查询
你也可以手动触发这些命令。
✅ 总结一下:
Delta Lake 是 Microsoft Fabric Lakehouse 表背后的“聪明仓库”, 它结合了 Parquet 的高效存储和数据库的事务能力, 支持时间旅行、审计日志、数据更新等功能, 是做数据分析、建模和数据治理的强力工具。

