什麼是三角洲湖?

三角洲湖是一個開源存儲層這為數據湖帶來了可靠性。Delta Lake提供ACID事務、可伸縮元數據處理,並統一流數據和批數據處理。Delta Lake運行在現有的數據湖之上,與Apache Spark api完全兼容。Databricks上的Delta Lake允許您基於您的工作負載模式配置Delta Lake。

Databricks為Delta Lake添加了優化的布局和索引,以實現快速交互查詢。

本指南提供了介紹性概述、快速入門和在Databricks上使用Delta Lake的指導。

具體來說,三角洲湖提供:

  • ACID事務在Spark上:序列化隔離級別確保讀取器永遠不會看到不一致的數據。

  • 可擴展的元數據處理:利用Spark分布式處理能力輕鬆處理數十億文件的pb級表的所有元數據。

  • 流媒體而且批處理統一:Delta Lake中的表既是一個批處理表,也是一個流源和流彙。流數據攝入,批量曆史回填,交互式查詢都是開箱即用的。

  • 模式實施:自動處理模式變化,以防止在攝入過程中插入壞記錄。

  • 時間旅行:數據版本控製支持回滾、完整的曆史審計跟蹤和可重複的機器學習實驗。

  • 插入而且刪除:支持合並、更新和刪除操作,以支持複雜的用例,如更改數據捕獲、緩慢更改維度(SCD)操作、流upserts等。

許多Databricks運行時優化需要Delta Lake。Delta Lake操作具有很高的性能,支持從大規模ETL處理到特別的交互式查詢的各種工作負載。有關Databricks上優化的信息,請參見關於Databricks的優化和性能建議

關鍵任務

下麵的列表提供了常見Delta Lake任務的文檔鏈接。

三角洲湖api

對於Delta表上的大多數讀和寫操作,您可以使用火花SQL或Apache火花DataFrameapi。

有關Delta lake特定的SQL語句,請參見三角洲湖語句

Databricks確保在Databricks運行時與Delta Lake api的二進製兼容性。若要查看每個Databricks Runtime版本中打包的Delta Lake API版本,請參見Delta Lake API兼容性矩陣.Delta Lake api適用於Python、Scala和Java:

資源