這篇文章主要介紹Delta Lake 0.5.0有什么特性,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。
Delta Lake 0.5.0 于2019年12月13日正式發(fā)布,正式版本可以到 https://github.com/delta-io/delta/releases/tag/v0.5.0?spm=a2c6h.12873639.0.0.23ea24406RkWrF&file=v0.5.0 下載使用。這個(gè)版本支持多種查詢引擎查詢 Delta Lake 的數(shù)據(jù),比如常見的 Hive、Presto 查詢引擎。并發(fā)操作得到改進(jìn)。當(dāng)然,這個(gè)版本還是不支持直接使用 SQL 去增刪改查 Delta Lake 的數(shù)據(jù),這個(gè)可能得等到明年1月的 Apache Spark 3.0.0 的發(fā)布。
在之前版本的 Delta Lake,只支持使用 Spark 去查詢 Delta Lake 的數(shù)據(jù),使得它的使用場(chǎng)景有點(diǎn)限制。但是通過引入了 manifest 文件(參見 #76,https://github.com/delta-io/delta/issues/76?spm=a2c6h.12873639.0.0.152d2440UP8orM),我們可以使用 Presto/Amazon Athena 等查詢引擎去查詢 Delta Lake 的數(shù)據(jù)。Amazon Athena 是一種交互式查詢服務(wù),讓您能夠輕松使用標(biāo)準(zhǔn) SQL 直接分析 Amazon S3 中的數(shù)據(jù),其內(nèi)部是使用 Presto 實(shí)現(xiàn)的。
manifest 文件的生成可以使用 Scala, Java, Python 以及 SQL 去實(shí)現(xiàn),具體可以參見 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 級(jí)數(shù)據(jù)倉庫服務(wù),它使得用現(xiàn)有商業(yè)智能工具對(duì)您的所有數(shù)據(jù)進(jìn)行高效分析變得簡(jiǎn)單而實(shí)惠,Amazon Redshift 不能直接分析 S3 上的數(shù)據(jù),他需要將 S3 上的數(shù)據(jù)拷貝到 Amazon Redshift 才行;而 Redshift Spectrum 是 Amazon Redshift 的一項(xiàng)新功能,它支持直接分析 S3 上的數(shù)據(jù)。)、Snowflake(這個(gè)是美國的一家公司的數(shù)據(jù)湖產(chǎn)品,支持分析 S3 上的數(shù)據(jù)) 以及 Hive(只支持查 Delta Lake 的數(shù)據(jù),不支持 metastore)。
但是畢竟不是通過 manifest 文件實(shí)現(xiàn)的,所以有一些 Delta Lake 原生的功能暫不支持,比如數(shù)據(jù)一致性可能不能保證,底層的模式發(fā)生變化上層查詢引擎會(huì)不感知,得重新建立。具體可以參見 limitations,
https://docs.delta.io/0.5.0/presto-integration.html?spm=a2c6h.12873639.0.0.152d24401m0KhO#limitations
現(xiàn)在我們可以同時(shí)運(yùn)行更多的 Delta Lake 操作。這個(gè)實(shí)現(xiàn)是通過將 Delta Lake 樂觀并發(fā)控制的沖突檢測(cè)變得更細(xì)粒度解決的。這使得我們可以在 Delta Lake 表上運(yùn)行更加復(fù)雜的工作流:
在添加新分區(qū)時(shí),同時(shí)刪除舊分區(qū);
在不相交的分區(qū)上并發(fā)地運(yùn)行更新(updates)和合并(merges);
在數(shù)據(jù)壓縮的時(shí)候同時(shí)對(duì) Delta Lake 添加數(shù)據(jù)。
具體參見 并發(fā)控制,https://docs.delta.io/0.5.0/concurrency-control.html。
在壓縮數(shù)據(jù)的時(shí)候現(xiàn)在可以通過DataFrameWriter的選項(xiàng) dataChange 設(shè)置為 false 來重新編寫文件。通過這個(gè)選項(xiàng)允許壓縮操作與其他批處理和流操作并發(fā)運(yùn)行。關(guān)于如何使用可以參見 壓縮文件,
https://docs.delta.io/0.5.0/best-practices.html?spm=a2c6h.12873639.0.0.23ea2440hRtZny#compact-files。
Delta Lake 現(xiàn)在為只有插入子句而沒有更新子句的合并操作提供了更優(yōu)化的性能。此外,Delta Lake 確保這種 insert-only merge 操作只會(huì)向表中追加(append)新數(shù)據(jù)。舉個(gè)例子,常見的 ETL 操作將收集到的數(shù)據(jù)追加到 Delta Lake 表中,然而,這些源常常會(huì)生成重復(fù)的日志記錄,需要下端來刪除這些重復(fù)的數(shù)據(jù),而有了這個(gè)功能,我們可以避免插入重復(fù)的記錄。具體可以參見 https://docs.delta.io/0.5.0/delta-update.html?spm=a2c6h.12873639.0.0.152d2440yuXqE9#-merge-in-dedup。
在 Delta Lake 0.4.0 版本,已經(jīng)支持使用 Scala, Java 以及 Python 來實(shí)現(xiàn)這個(gè)目的。為了使用更加方便,Delta Lake 0.5.0 版本支持直接通過 SQL 將 Parquet 表轉(zhuǎn)換成 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有什么特性”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
本文題目:DeltaLake0.5.0有什么特性
分享URL:http://aaarwkj.com/article26/gjjdjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、ChatGPT、網(wǎng)站維護(hù)、小程序開發(fā)、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)