close
今日課程推薦:


點擊下方文字查看會議報名詳情線上課程報名|區塊鏈、計算機組成原理、Python商務數據分析(8月15日-18日)

| OSC開源社區(ID:oschina2013)

Delta Lake 2.0.0 現已發布,該版本發布正值 Delta Lake 的 3 歲生日之際。「我們很高興地宣布在Apache Spark 3.2 上發布 Delta Lake 2.0 (pypi,maven,release notes)......Delta Lake 2.0 的意義不僅僅是一個數字,它重申了我們對 Delta Lake 開源的集體承諾」。
Delta Lake 是一個存儲層,為 Apache Spark 和大數據 workloads 提供 ACID 事務能力,其通過寫和快照隔離之間的樂觀並發控制(optimistic concurrency control),在寫入數據期間提供一致性的讀取,從而為構建在 HDFS 和雲存儲上的數據湖(data lakes)帶來可靠性。
此版本的一些主要功能包括:

支持 Delta 表上的 Change Data Feed。Change Data Feed 表示不同版本的表之間的行級更改。啟用後,將記錄有關表上每個寫入操作的行級別更改的附加信息。

有關更多詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/delta-change-data-feed.html

支持數據的 Z-Order 聚類,減少讀取的數據量。Z-Ordering 是一種將相關信息放在同一組文件中的技術。這種數據聚類允許列統計信息(在 Delta 1.2 中發布)更有效地跳過查詢中基於過濾器的數據。

有關更多詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/optimizations-oss.html#z-ordering-multi-dimensional-clustering

支持對 Delta 表的冪等寫入,以啟用 Delta 表寫入作業的容錯重試,而無需多次將數據寫入表。

有關更多詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/delta-streaming.html#idempotent-table-writes-in-foreachbatch

app_id = ... # A unique string that is used as an application ID.def writeToDeltaLakeTableIdempotent(batch_df, batch_id): batch_df.write.format(...).option("txnVersion", batch_id).option("txnAppId", app_id).save(...) # location 1 batch_df.write.format(...).option("txnVersion", batch_id).option("txnAppId", app_id).save(...) # location 2

支持將 Delta 表中的列作為元數據變更操作來刪除。此命令從元數據中刪除列,而不是從底層文件中刪除列數據。

有關更多詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/delta-batch.html#drop-columns

支持動態分區覆蓋。僅覆蓋在運行時寫入數據的分區。值得注意的是,動態分區覆蓋與分區表的replaceWhere選項衝突。

有關詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/delta-batch.html#drop-columns

SET spark.sql.sources.partitionOverwriteMode=dynamic;INSERT OVERWRITE TABLE default.people10m SELECT * FROM morePeople;

對 multi-part checkpoints 的實驗性支持,將 Delta Lake checkpoint 拆分為多個部分,以加快 checkpoint 的寫入和讀取速度。

有關更多詳細信息,可參閱文檔:https://docs.delta.io/2.0.0/optimizations-oss.html#multi-part-checkpointing

Python 和 Scala API 支持 OPTIMIZE 文件壓縮和 Z-order by。

其他顯着變化

通過添加對嵌套列生成列跳過的支持,改進生成列數據跳過

通過阻止 Delta Lake 中不受支持的數據類型來改進表架構驗證。

支持創建具有空模式的 Delta Lake 表。

更改DROP CONSTRAINT 在約束不存在時引發錯誤的行為。在此版本之前,該命令用於靜默返回。

當分區值中包含 space 時,修復符號鏈接清單生成問題。

修復了收集不正確的提交統計信息的問題。

支持S3多集群寫入支持的 LogStore 中的 SimpleAWSCredentialsProvider 或 TemporaryAWSCredentialsProvider。

修復了生成的列中的一個問題,即使列是空的,也不允許在插入的 DataFrame 中寫入空列。

Benchmark Framework Update

獨立於此版本,開發團隊改進了編寫大型 scala 性能基準測試的框架(在 1.2.0版本中添加了初始版本),添加了對使用 Google Dataproc 在 Google Compute Platform 上運行基準測試的支持(除了現有的對 AWS 上 EMR 的支持之外)。
社區擴展和增長的更新
公告稱,Delta Lake 將更加依賴於通過提供 ACID 事務以及在現有雲數據存儲之上統一流和批處理事務來為數據湖帶來可靠性和改進的性能。通過使用最流行的計算引擎和技術構建連接器,Delta Lake 的吸引力將繼續增加 —— 推動社區的更多增長,並在全球最具創新性和最大的企業中快速採用該技術。
更多詳情可查看官方公告:https://delta.io/blog/2022-08-02-delta-2-0-the-foundation-of-your-data-lake-is-open/

END

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()