Azure Databricks 中的所有 Delta 項目為何?
本文介紹 Azure Databricks 上統稱為 Delta 的技術。 Delta 是指與 Delta Lake 開放原始碼 項目中相關的技術。
本文回答:
- Azure Databricks 中的 Delta 技術為何?
- 他們做什麼? 或者他們用途為何?
- 它們與彼此有什麼關聯和區別?
Delta 專案用途為何?
Delta 是 Delta Lake 引進的詞彙,這是將數據和數據表儲存在 Databricks Lakehouse 中的基礎。 Delta Lake 被設想為統一的數據管理系統,用來處理交易即時和批次巨量數據,方法是使用以檔案為基礎的事務歷史記錄來擴充 Parquet 數據檔,以進行 ACID 交易和可調整的元數據處理。
Delta Lake:Lakehouse 的 OS 數據管理
Delta Lake 是一種開放原始碼儲存層,藉由在儲存在雲端記憶體的數據上新增交易式儲存層,為數據湖帶來可靠性(在 AWS S3、Azure 儲存體 和 GCS 上)。 它允許 ACID 交易、數據版本設定和復原功能。 它可讓您以統一的方式處理批次和串流數據。
Delta 表建置在這個儲存層之上,提供表格抽象,讓您可以輕鬆使用 SQL 和 DataFrame API 來處理大規模結構化資料。
Delta tables:預設資料表結構
Delta 數據表是 Azure Databricks 中的預設數據表格式,是 Delta Lake 開放原始碼 資料架構的功能。 增量表(Delta tables)通常用於數據湖,數據可以通過串流或大量批次進行導入。
請參閱:
- Delta Lake 快速入門:建立數據表
- 更新和修改 Delta Lake 數據表。
- DeltaTable 類別:以程序設計方式與 Delta 數據表互動的主要類別。
DLT:數據管線
DLT 管理許多 Delta 資料表之間的數據流,從而簡化 ETL 開發和管理上數據工程師的工作。 管道是執行 DLT的主要單元。 DLT 提供宣告式管線開發、改善的數據可靠性,以及雲端規模的生產作業。 用戶可以在同一個數據表上執行批次和串流作業,而且數據可以立即可供查詢。 您可以定義要對數據執行的轉換,而 DLT 會管理工作協調流程、叢集管理、監視、數據品質及錯誤處理。 DLT 增強型自動調整可以處理尖峰且無法預測的串流工作負載。
請參閱 DLT 教學課程。
Delta tables 與 DLT
Delta 表格是一種將數據儲存在資料表中的方式,而 DLT 允許您以宣告性地描述這些資料表之間的數據流動。 DLT 是一種宣告式框架,管理許多 delta 表,透過建立這些表並保持它們的最新狀態。 簡言之,Delta 數據表是數據表架構,而 DLT 是數據管線架構。
Delta:開放原始碼或專屬?
Azure Databricks 平臺的一項優點是,它不會將客戶鎖定為專屬工具:大部分的技術是由 Azure Databricks 貢獻的 開放原始碼 專案所提供。
Delta OSS 專案是範例:
- Delta Lake 專案:lakehouse 的開放原始碼儲存系統。
- Delta 共享協定:開放的安全數據共享協定。
DLT 是 Azure Databricks 中的專屬架構。
Azure Databricks 上的其他 Delta 項目為何?
以下是名稱中包含 Delta 的其他功能描述。
Delta Sharing
Delta Sharing 是安全數據共用的開放標準,可讓組織之間共享數據,而不論其計算平台為何。
Delta 引擎
巨量數據的查詢優化器,其使用 Databricks 中包含的 Delta Lake 開放原始碼 技術。 Delta 引擎通過將計算推送到數據來提升 Spark SQL、Databricks SQL 和 DataFrame 操作的效能。
Delta Lake 事務歷史記錄 (AKA DeltaLogs)
唯一事實來源會追蹤使用者對數據表所做的所有變更,以及 Delta Lake 保證原子性的機制。 請參閱 GitHub 上的 Delta 事務歷史記錄通訊協定。
交易日誌是瞭解 Delta Lake 的關鍵,因為它是貫穿許多最重要功能的共同線索。
- ACID 交易
- 可調整的元數據處理
- 時間移動
- 以及其他。