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 上),為 Data Lake 帶來可靠性。 它允許 ACID 交易、數據版本設定和復原功能。 它可讓您以統一的方式處理批次和串流數據。

差異數據表建置在此儲存層之上,並提供數據表抽象概念,可讓您輕鬆地使用 SQL 和 DataFrame API 來處理大規模結構化數據。

差異數據表:預設數據表架構

Delta 數據表是 Azure Databricks 中的預設數據表格式,是 Delta Lake 開放原始碼 數據架構的一項功能。 差異數據表通常用於數據湖,其中數據會透過串流或大量批次內嵌。

請參閱:

差異實時數據表:數據管線

Delta Live Tables 會管理許多 Delta 數據表之間的數據流,從而簡化 ETL 開發和管理上數據工程師的工作。 管線是 Delta Live Tables 執行的主要單位。 Delta Live Tables 提供宣告式管線開發、改善的數據可靠性,以及雲端規模的生產作業。 用戶可以在同一個數據表上執行批次和串流作業,而且數據可以立即可供查詢。 您可以定義要對數據執行的轉換,而 Delta Live Tables 會管理工作協調流程、叢集管理、監視、數據品質及錯誤處理。 Delta Live Tables Enhanced Autoscaling 可以處理尖峰且無法預測的串流工作負載。

請參閱 Delta Live Tables 教學課程

差異數據表與差異實時數據表

Delta 數據表是將數據儲存在數據表中的一種方式,而 Delta Live Tables 可讓您描述這些數據表之間如何以宣告方式流動。 Delta Live Tables 是一種宣告式架構,可藉由建立差異數據表並將其保持在最新狀態,來管理許多差異數據表。 簡言之,Delta 數據表是數據表架構,而 Delta Live Tables 是數據管線架構。

Delta:開放原始碼或專屬?

Azure Databricks 平臺的一項優點是,它不會將客戶鎖定為專屬工具:大部分的技術是由 Azure Databricks 貢獻的 開放原始碼 專案所提供。

Delta OSS 專案是範例:

Delta Live Tables 是 Azure Databricks 中的專屬架構。

Azure Databricks 上的其他 Delta 項目為何?

以下是名稱中包含 Delta 的其他功能描述。

差異共用

Delta Sharing 是安全數據共用的開放標準,可讓組織之間共享數據,而不論其計算平台為何。

差異引擎

巨量數據的查詢優化器,其使用 Databricks 中包含的 Delta Lake 開放原始碼 技術。 差異引擎會將計算推送至數據,將 Spark SQL、Databricks SQL 和 DataFrame 作業的效能優化。

Delta Lake 事務歷史記錄 (AKA DeltaLogs)

單一事實來源會追蹤使用者對數據表所做的所有變更,以及 Delta Lake 保證 不可部分完成性的機制。 請參閱 GitHub 上的 Delta 事務歷史記錄通訊協定

事務歷史記錄是瞭解 Delta Lake 的關鍵,因為它是透過許多最重要的功能執行的常見線程:

  • ACID 交易
  • 可調整的元數據處理
  • 時間移動
  • 還有更多。