中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Delta Lake 0.5.0有什么特性

發布時間:2021-12-16 14:06:03 來源:億速云 閱讀:134 作者:小新 欄目:大數據

這篇文章主要介紹Delta Lake 0.5.0有什么特性,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Delta Lake 0.5.0 于2019年12月13日正式發布,正式版本可以到 https://github.com/delta-io/delta/releases/tag/v0.5.0?spm=a2c6h.12873639.0.0.23ea24406RkWrF&file=v0.5.0 下載使用。這個版本支持多種查詢引擎查詢 Delta Lake 的數據,比如常見的 Hive、Presto 查詢引擎。并發操作得到改進。當然,這個版本還是不支持直接使用 SQL 去增刪改查 Delta Lake 的數據,這個可能得等到明年1月的 Apache Spark 3.0.0 的發布。

通過使用 manifest 文件來支持多種查詢引擎

在之前版本的 Delta Lake,只支持使用 Spark 去查詢 Delta Lake 的數據,使得它的使用場景有點限制。但是通過引入了 manifest 文件(參見 #76,https://github.com/delta-io/delta/issues/76?spm=a2c6h.12873639.0.0.152d2440UP8orM),我們可以使用 Presto/Amazon Athena 等查詢引擎去查詢 Delta Lake 的數據。Amazon Athena 是一種交互式查詢服務,讓您能夠輕松使用標準 SQL 直接分析 Amazon S3 中的數據,其內部是使用 Presto 實現的。

manifest 文件的生成可以使用 Scala, Java, Python 以及 SQL 去實現,具體可以參見 Delta Lake 的最新文檔:Presto and Athena to Delta Lake Integration,https://docs.delta.io/0.5.0/presto-integration.html?spm=a2c6h.12873639.0.0.152d2440FjP2qK

除了支持 Presto/Amazon Athena,還支持 Redshift Spectrum(Amazon Redshift 是一種快速、完全托管的 PB 級數據倉庫服務,它使得用現有商業智能工具對您的所有數據進行高效分析變得簡單而實惠,Amazon Redshift 不能直接分析 S3 上的數據,他需要將 S3 上的數據拷貝到 Amazon Redshift 才行;而 Redshift Spectrum 是 Amazon Redshift 的一項新功能,它支持直接分析 S3 上的數據。)、Snowflake(這個是美國的一家公司的數據湖產品,支持分析 S3 上的數據) 以及 Hive(只支持查 Delta Lake 的數據,不支持 metastore)。

但是畢竟不是通過 manifest 文件實現的,所以有一些 Delta Lake 原生的功能暫不支持,比如數據一致性可能不能保證,底層的模式發生變化上層查詢引擎會不感知,得重新建立。具體可以參見 limitations,

https://docs.delta.io/0.5.0/presto-integration.html?spm=a2c6h.12873639.0.0.152d24401m0KhO#limitations

更好的并發操作支持

現在我們可以同時運行更多的 Delta Lake 操作。這個實現是通過將 Delta Lake 樂觀并發控制的沖突檢測變得更細粒度解決的。這使得我們可以在 Delta Lake 表上運行更加復雜的工作流:

  • 在添加新分區時,同時刪除舊分區;

  • 在不相交的分區上并發地運行更新(updates)和合并(merges);

  • 在數據壓縮的時候同時對 Delta Lake 添加數據。

具體參見 并發控制,https://docs.delta.io/0.5.0/concurrency-control.html。

改進了對文件壓縮的支持

在壓縮數據的時候現在可以通過DataFrameWriter的選項 dataChange 設置為 false 來重新編寫文件。通過這個選項允許壓縮操作與其他批處理和流操作并發運行。關于如何使用可以參見 壓縮文件,

https://docs.delta.io/0.5.0/best-practices.html?spm=a2c6h.12873639.0.0.23ea2440hRtZny#compact-files。

改進了純插入合并( insert-only merge)的性能

Delta Lake 現在為只有插入子句而沒有更新子句的合并操作提供了更優化的性能。此外,Delta Lake 確保這種 insert-only merge 操作只會向表中追加(append)新數據。舉個例子,常見的 ETL 操作將收集到的數據追加到 Delta Lake 表中,然而,這些源常常會生成重復的日志記錄,需要下端來刪除這些重復的數據,而有了這個功能,我們可以避免插入重復的記錄。具體可以參見 https://docs.delta.io/0.5.0/delta-update.html?spm=a2c6h.12873639.0.0.152d2440yuXqE9#-merge-in-dedup。

通過 SQL 將 Parquet 表轉換成 Delta Lake 表

在 Delta Lake 0.4.0 版本,已經支持使用 Scala, Java 以及 Python 來實現這個目的。為了使用更加方便,Delta Lake 0.5.0 版本支持直接通過 SQL 將 Parquet 表轉換成 Delta Lake 表,具體如下:

Convert unpartitioned parquet table at path 'path/to/table'
CONVERT TO DELTA parquet.`path/to/table`

Convert partitioned parquet table at path 'path/to/table' and partitioned by integer column named 'part'
CONVERT TO DELTA parquet.`path/to/table` PARTITIONED BY (part int)

以上是“Delta Lake 0.5.0有什么特性”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰宁县| 翁牛特旗| 洛南县| 呼伦贝尔市| 乐都县| 清原| 裕民县| 克拉玛依市| 兖州市| 北辰区| 定日县| 南漳县| 滦平县| 杨浦区| 商南县| 濉溪县| 边坝县| 新平| 南陵县| 保山市| 宿州市| 永福县| 阿克苏市| 康平县| 郧西县| 安仁县| 潞西市| 兴海县| 阿瓦提县| 兴安盟| 通化市| 高安市| 德州市| 安福县| 翁牛特旗| 怀来县| 安西县| 马关县| 鹤峰县| 岱山县| 景洪市|