什麼是 Delta Lake?

Delta Lake 是開放原始碼儲存層,可將 ACID (不可部分完成性、一致性、隔離和持久性)交易帶入 Apache Spark 和巨量數據工作負載。

Azure Synapse 隨附的 Delta Lake 目前版本具有 Scala、PySpark 和 .NET 的語言支援,且與 Linux Foundation Delta Lake 兼容。 頁面底部有連結可取得更詳細的範例和檔。 您可以從差異數據表簡介影片深入瞭解

主要功能

功能 描述
ACID 交易 數據湖通常會透過多個進程和管線填入,其中有些是同時寫入數據與讀取。 在 Delta Lake 和新增交易之前,數據工程師必須經歷手動錯誤易出錯的程式,以確保數據完整性。 Delta Lake 會將熟悉的 ACID 交易帶入 Data Lake。 它提供可序列化能力,這是最強的隔離層級。 若要深入瞭解,請參閱 跳入 Delta Lake:解除封裝事務歷史記錄
可調整的元數據處理 在巨量數據中,即使是元數據本身也可以是「巨量數據」。Delta Lake 會將元數據視為數據,利用 Spark 的分散式處理能力來處理其所有元數據。 如此一來,Delta Lake 就能輕鬆地處理具有數十億個磁碟分割和檔案的 PB 規模資料表。
時間移動 (資料版本控制) 「復原」變更或回到舊版的能力,是交易的主要功能之一。 Delta Lake 提供數據的快照集,可讓您還原為舊版的數據以進行稽核、復原或重現實驗。 在介紹 Delta Lake Time Travel for Large Scale Data Lake深入瞭解。
開啟格式 Apache Parquet 是 Delta Lake 的基準格式,可讓您利用格式原生的高效壓縮和編碼配置。
整合批次和串流來源和接收 Delta Lake 中的數據表既是批次數據表,也是串流來源和接收。 串流資料內嵌、批次歷程記錄回填和互動式查詢全都是現成可用的工作。
架構強制執行 架構強制執行有助於確保數據類型正確且必要的數據行存在,以防止不正確的數據造成數據不一致。 如需詳細資訊,請參閱 跳入 Delta Lake:架構強制執行和演進
架構演進 Delta Lake 可讓您變更可自動套用的數據表架構,而不需要撰寫移轉 DDL。 如需詳細資訊,請參閱 跳入 Delta Lake:架構強制執行和演進
稽核歷程記錄 Delta Lake 事務歷史記錄會記錄對數據所做的每項變更詳細數據,並提供變更的完整稽核記錄。
更新和刪除 Delta Lake 支援 Scala/Java/Python 和 SQL API,以取得各種功能。 支援合併、更新和刪除作業可協助您符合合規性需求。 如需詳細資訊,請參閱宣佈 Delta Lake 0.6.1 版本使用 Python API 宣佈 Delta Lake 0.7 版本和簡單、可靠的 Upserts 和 Deletes on Delta Lake Tables,其中包含合併、更新和刪除 DML 命令的代碼段。
100% 與 Apache Spark API 相容 開發人員可以使用 Delta Lake 搭配現有的數據管線,且變更最少,因為它與現有的 Spark 實作完全相容。

如需完整檔,請參閱 Delta Lake 文件頁面

如需詳細資訊,請參閱 Delta Lake Project

下一步