Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算,大數(shù)據(jù)常用的技術(shù)組件-ESG跨境

Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算,大數(shù)據(jù)常用的技術(shù)組件

來(lái)源網(wǎng)絡(luò)
來(lái)源網(wǎng)絡(luò)
2022-07-05
點(diǎn)贊icon 0
查看icon 698

Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算,大數(shù)據(jù)常用的技術(shù)組件Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算數(shù)據(jù)分析,這恐怕是任何大數(shù)據(jù)系統(tǒng)最核心的功能和目標(biāo),畢竟只有經(jīng)過(guò)妥善的分析并得出結(jié)論,才能從所積累的海量數(shù)據(jù)中獲得業(yè)務(wù)價(jià)值。那么,我們基于Azure Databricks構(gòu)建的大數(shù)據(jù)系統(tǒng)......

Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算,大數(shù)據(jù)常用的技術(shù)組件




Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 掐指一算

數(shù)據(jù)分析,這恐怕是任何大數(shù)據(jù)系統(tǒng)最核心的功能和目標(biāo),畢竟只有經(jīng)過(guò)妥善的分析并得出結(jié)論,才能從所積累的海量數(shù)據(jù)中獲得業(yè)務(wù)價(jià)值。那么,我們基于Azure Databricks構(gòu)建的大數(shù)據(jù)系統(tǒng),除了像之前介紹過(guò)的那樣處理實(shí)時(shí)數(shù)據(jù)流之外,在海量離線數(shù)據(jù)的分析和計(jì)算方面,又具備哪些優(yōu)勢(shì)?本篇將帶領(lǐng)你見(jiàn)分曉。

本次《Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng)》系列文章,將主要圍繞Azure Databricks以及其它配套服務(wù),通過(guò)一系列實(shí)戰(zhàn)教程告訴大家如何基于Azure云打造完全運(yùn)行在云端的閉環(huán)大數(shù)據(jù)平臺(tái)。

內(nèi)容涵蓋:Azure Databricks的基礎(chǔ)知識(shí),以及如何借助Azure Databricks實(shí)現(xiàn)流計(jì)算(Structure Streaming)、批處理(Spark SQL)、安全訪問(wèn)控制以及機(jī)器學(xué)習(xí)能力等。

本系列的第一篇文章概括介紹了有關(guān)Azure Databricks的基礎(chǔ)知識(shí),錯(cuò)過(guò)的童鞋可以點(diǎn)擊這里回看;第二篇文章介紹了如何基于Azure Databricks開(kāi)發(fā)實(shí)時(shí)告警系統(tǒng),可以點(diǎn)擊這里回看。而本篇,主要將介紹如何對(duì)離線數(shù)據(jù)進(jìn)行分析和計(jì)算,進(jìn)而獲得業(yè)務(wù)所需的各類(lèi)見(jiàn)解。

背景介紹

一般來(lái)說(shuō),離線數(shù)據(jù)的分析都會(huì)運(yùn)行OLAP SQL查詢(xún),因而下文將主要圍繞SparkSQL,一個(gè)可以通過(guò)Spark來(lái)進(jìn)行SQL分析的可實(shí)時(shí)、可離線計(jì)算框架展開(kāi)介紹。下文場(chǎng)景基于集成Azure Datalake Gen2并啟用Databricks Delta Lake作為外部存儲(chǔ)實(shí)現(xiàn)計(jì)算存儲(chǔ)分離,通過(guò)SparkSQL分析新冠肺炎實(shí)時(shí)統(tǒng)計(jì)數(shù)據(jù)。而相關(guān)資源依然會(huì)沿用之前兩篇文章的Demo所創(chuàng)建的資源組。

Delta Lake是一種可以提高數(shù)據(jù)湖可靠性的開(kāi)源存儲(chǔ)層,由Databricks開(kāi)發(fā)并開(kāi)源。Delta Lake提供了ACID事務(wù)和可縮放的元數(shù)據(jù)處理,并可統(tǒng)一流處理和批數(shù)據(jù)處理。Delta Lake在現(xiàn)有Data Lake的頂層運(yùn)行,并可與Apache Spark API完全兼容。

具體而言,Delta Lake提供了:

Spark上的ACID事務(wù):可序列化的隔離級(jí)別可避免讀者看到不一致的數(shù)據(jù)。

可縮放的元數(shù)據(jù)處理:利用Spark的分布式處理能力,輕松處理包含數(shù)十億文件的PB級(jí)表的所有元數(shù)據(jù)。

流式處理和批處理統(tǒng)一:Delta Lake中的表是批處理表,也是流式處理源和接收器。流式處理數(shù)據(jù)引入、批處理歷史回填、交互式查詢(xún)功能都是現(xiàn)成的。

架構(gòu)強(qiáng)制:自動(dòng)處理架構(gòu)變體,以防在引入過(guò)程中插入錯(cuò)誤的記錄。

按時(shí)間順序查看:數(shù)據(jù)版本控制支持回滾、完整的歷史審核線索和可重現(xiàn)的機(jī)器學(xué)習(xí)試驗(yàn)。

更新插入和刪除:支持合并、更新和刪除操作,以啟用復(fù)雜用例,如更改數(shù)據(jù)捕獲、漸變維度(SCD)操作、流式處理更新插入等。

總的來(lái)說(shuō),Delta Lake不僅能在需要事務(wù)符合ACID特性的場(chǎng)景提供支持,還針對(duì)性能也做了相當(dāng)大的代碼優(yōu)化,本文的實(shí)現(xiàn)也是基于Delta Lake,需要注意數(shù)據(jù)格式需要轉(zhuǎn)換成delta。

正常情況下,Azure Datalake Gen2與Delta Lake的集成需要在Spark中增加配置項(xiàng)spark.delta.logStore.class=org.apache.spark.sql.delta.storage.AzureLogStore,并且集群需要在lib庫(kù)中支持hadoopazuredatalake/hadoopazure/wildflyopenssl JAR,具體過(guò)程可以見(jiàn)這里。所以這時(shí)PaaS的優(yōu)勢(shì)就顯示出來(lái)了:Azure Databricks在集群創(chuàng)建好的同時(shí)就已經(jīng)在集群上啟用了該庫(kù),直接調(diào)用即可。Azure Datalake Gen2的創(chuàng)建過(guò)程本文不再贅述,具體見(jiàn)官方文檔。

本文將介紹兩種常見(jiàn)的集成方式,如下圖所示,并做幾點(diǎn)說(shuō)明:

cmd2:非掛載方式

cmd2中通過(guò)Scala代碼演示Azure Databricks集成Azure Datalake Gen2的認(rèn)證配置項(xiàng),通過(guò)創(chuàng)建擁有IAM角色「Storage Blob Data Contributor」的服務(wù)主體來(lái)做認(rèn)證,驗(yàn)證通過(guò)后就可直接調(diào)用Datalake里的文件了,注意相關(guān)變量需要替換。

cmd3:掛載方式

cmd3中通過(guò)Python代碼演示Azure Databricks如何掛載Azure Datalake Gen2,身份驗(yàn)證過(guò)程和cmd2的方式一樣。這種方式的好處是直接可以把遠(yuǎn)端的Azure Datalake掛載到Azure Databricks上,就好像在使用本地磁盤(pán)一樣使用Datalake,本文更推薦并且采用該模式,同時(shí)注意相關(guān)變量需要替換。

另外,本文的環(huán)境位于Azure中國(guó)區(qū),所以相關(guān)域名都是https://login.partner.microsoftonline.cn,如果位于全球Azure中,那么相關(guān)域名將會(huì)是https://login.microsoftonline.com。

其實(shí)從最佳實(shí)踐角度來(lái)說(shuō),本文并不是實(shí)現(xiàn)的最好方式,因?yàn)樵贜otebook里的認(rèn)證信息全部都是明文出現(xiàn)。最好的方式應(yīng)該集成Azure密鑰保管庫(kù)來(lái)隱藏密碼,該方式不再本文贅述,有興趣的同學(xué)自行研究吧,附上鏈接供參考。

引入數(shù)據(jù)源并運(yùn)行SparkSQL

前面提到,本文所采用的示例數(shù)據(jù)是和新冠肺炎實(shí)時(shí)統(tǒng)計(jì)數(shù)據(jù)相關(guān),講到這里有必要介紹一個(gè)微軟提供的開(kāi)放數(shù)據(jù)集Repo,其中包含各種場(chǎng)景下的csv/json/parquet格式的原始和脫敏數(shù)據(jù),本文所用的新冠肺炎數(shù)據(jù)也是在這里獲取的。

選擇CSV格式數(shù)據(jù)作為數(shù)據(jù)源,下載好之后上傳到Azure DataLake,在Container data下面再創(chuàng)建一個(gè)Source文件夾作為存放原始數(shù)據(jù)的目錄徑。

原始數(shù)據(jù)確定好之后,就可以通過(guò)Notebook來(lái)做SparkSQL分析了。本文用到的示例Notebook已經(jīng)上傳到了這里,幾個(gè)重要配置簡(jiǎn)單說(shuō)明下:

COVIDDF:COVIDDF為定義的DataFrame,通過(guò)spark.read.format(“csv”)格式并指定掛載路徑引入數(shù)據(jù);

COVIDDF.write.mode(“append”).format(“delta”):通過(guò)Append追加方式寫(xiě)入目標(biāo)表中,注意這里的格式delta,也就是前面提到的需要做格式轉(zhuǎn)換,寫(xiě)入的表也需要指定路徑,并會(huì)在Azure Dalalake中生成相應(yīng)的文件;

ChinaCOVID及ChinaCOVID1:經(jīng)過(guò)上面的建表過(guò)程后就可以運(yùn)行SparkSQL來(lái)做SQL查詢(xún)了。

總結(jié)

一個(gè)通過(guò)集成Azure Datalake Gen2作為外部存儲(chǔ)并采用Delta Lake格式進(jìn)行SparkSQL分析的示例就完成了,本文基本上使用了PySpark來(lái)實(shí)現(xiàn),其實(shí)除此之外通過(guò)SQL或者Scala也是一樣可以實(shí)現(xiàn)的,有興趣的同學(xué)可以自己再深入研究下吧。

有關(guān)如何通過(guò)SparkSQL實(shí)現(xiàn)數(shù)據(jù)的離線分析和計(jì)算,就是這樣了。隨后的內(nèi)容中,我們還將繼續(xù)介紹如何實(shí)現(xiàn)安全訪問(wèn)控制和機(jī)器學(xué)習(xí)能力。通過(guò)這些真實(shí)場(chǎng)景中的最佳實(shí)踐分享,也能幫助大家更清楚地認(rèn)識(shí)到Azure Databricks的價(jià)值。敬請(qǐng)期待!


文章推薦
AppLovin告訴你如何在合成類(lèi)游戲脫穎而出,游戲介紹帶你快速了解游戲新玩法
ASO、ASM、SEO、SEM是什么
Google AdWords和Google SEO,谷歌平臺(tái)seo
AWS的工程師如何開(kāi)發(fā)和維護(hù)他們的內(nèi)部技術(shù),aws內(nèi)部如何研發(fā)


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國(guó)平臺(tái)交流群
加入
韓國(guó)平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國(guó)賣(mài)家交流群
加入
美國(guó)賣(mài)家交流群
掃碼進(jìn)群
ESG跨境專(zhuān)屬福利分享群
加入
ESG跨境專(zhuān)屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣(mài)家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣(mài)家交流群
掃碼進(jìn)群
《TikTok官方運(yùn)營(yíng)干貨合集》
《TikTok綜合運(yùn)營(yíng)手冊(cè)》
《TikTok短視頻運(yùn)營(yíng)手冊(cè)》
《TikTok直播運(yùn)營(yíng)手冊(cè)》
《TikTok全球趨勢(shì)報(bào)告》
《韓國(guó)節(jié)日營(yíng)銷(xiāo)指南》
《開(kāi)店大全-全球合集》
《開(kāi)店大全-主流平臺(tái)篇》
《開(kāi)店大全-東南亞篇》
《CD平臺(tái)自注冊(cè)指南》
通過(guò)ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專(zhuān)業(yè)1v1客戶(hù)經(jīng)理服務(wù)
運(yùn)營(yíng)實(shí)操指導(dǎo)
運(yùn)營(yíng)提效資源福利
平臺(tái)官方專(zhuān)屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問(wèn)

平臺(tái)顧問(wèn)

平臺(tái)顧問(wèn) 平臺(tái)顧問(wèn)

微信掃一掃
馬上聯(lián)系在線顧問(wèn)

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營(yíng)干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
【活動(dòng)報(bào)名】2024年歐洲多藍(lán)海平臺(tái)招商沙龍
官方親臨,拆解phh group/eMAG/worten三個(gè)平臺(tái)商機(jī)
立即報(bào)名
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營(yíng)必備干貨包
包含8個(gè)TikTok最新運(yùn)營(yíng)指南(市場(chǎng)趨勢(shì)、運(yùn)營(yíng)手冊(cè)、節(jié)日攻略等),官方出品,專(zhuān)業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)電商節(jié)日營(yíng)銷(xiāo)指南
10+韓國(guó)電商重要營(yíng)銷(xiāo)節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長(zhǎng);8大節(jié)日營(yíng)銷(xiāo)技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡(jiǎn)介、競(jìng)爭(zhēng)優(yōu)勢(shì)、熱銷(xiāo)品類(lèi)、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——主流平臺(tái)篇
火爆全球的跨境電商平臺(tái)合集,平臺(tái)優(yōu)勢(shì)、開(kāi)店選品、入駐條件盡在掌握
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——拉美篇
涵蓋9大熱門(mén)拉美電商平臺(tái),成熟的市場(chǎng)是跨境賣(mài)家的熱門(mén)選擇!
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——日韓篇
涵蓋10+日韓電商平臺(tái),入駐條件一看就懂,優(yōu)勢(shì)熱銷(xiāo)品應(yīng)有盡有
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢(shì)、入駐條件、熱銷(xiāo)品等
立即領(lǐng)取