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-04-29
點(diǎn)贊icon 0
查看icon 826

Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 小試牛刀,大數(shù)據(jù)常用的技術(shù)組件Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 小試牛刀看過(guò)美劇《絕命毒師》(Breaking Bad)的童鞋,恐怕都會(huì)對(duì)「老白」的化學(xué)知識(shí)和運(yùn)用這些知識(shí)的能力留下深刻印象。畢竟,生活中一些常見(jiàn)的物品,通過(guò)對(duì)它們的成分進(jìn)行一定組合往往能制造出......

Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 小試牛刀,大數(shù)據(jù)常用的技術(shù)組件





Azure Databricks大數(shù)據(jù)構(gòu)建營(yíng) 小試牛刀

看過(guò)美劇《絕命毒師》(Breaking Bad)的童鞋,恐怕都會(huì)對(duì)「老白」的化學(xué)知識(shí)和運(yùn)用這些知識(shí)的能力留下深刻印象。畢竟,生活中一些常見(jiàn)的物品,通過(guò)對(duì)它們的成分進(jìn)行一定組合往往能制造出很「不一般」的東西。

所以接下來(lái)你面對(duì)了一個(gè)新需求,老板要你實(shí)現(xiàn)這樣的功能:一家連鎖藥店,希望通過(guò)抽樣的方式檢查止咳糖漿的銷(xiāo)量,如果發(fā)現(xiàn)有人一次性購(gòu)買(mǎi)10瓶以上就進(jìn)行實(shí)時(shí)告警。你準(zhǔn)備怎么做?

基于Azure Databricks的流計(jì)算就可以輕松實(shí)現(xiàn)。一起來(lái)看看吧。

本次《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)擊這里回看。而本篇,將帶領(lǐng)大家小試牛刀,基于Azure Databricks開(kāi)發(fā)上文提到的那種實(shí)時(shí)告警系統(tǒng)。準(zhǔn)備好,我們這就開(kāi)始。

流計(jì)算架構(gòu)說(shuō)明

本篇涉及到的服務(wù)全都部署在中國(guó)區(qū)Azure上。根據(jù)模擬場(chǎng)景的描述,首先我們可以設(shè)計(jì)出如下所示的架構(gòu):

該解決方案將用到如下的產(chǎn)品和服務(wù):

Azure虛擬機(jī):作為數(shù)據(jù)源,扮演Producer生產(chǎn)者,通過(guò)Python代碼模擬客戶購(gòu)買(mǎi)行為,生成示例數(shù)據(jù)并通過(guò)SDK發(fā)快遞數(shù)據(jù)到Azure EventHub。

Azure EventHub:消息隊(duì)列,做上下游生產(chǎn)者消費(fèi)者服務(wù)的解耦,Entity ingestion負(fù)責(zé)接收Producer發(fā)快遞的數(shù)據(jù),Entity alerting接收經(jīng)過(guò)Databricks實(shí)時(shí)計(jì)算后的數(shù)據(jù)。

Azure Databricks:訂閱EventHub Entity ingestion作為數(shù)據(jù)源,通過(guò)Structure Streaming對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理后發(fā)快遞給Entity alerting。

Azure LogicApp:訂閱EventHub Entity alerting并做郵件實(shí)時(shí)告警。

完整過(guò)程中的數(shù)據(jù)流是這樣的:

1.Producer生產(chǎn)者發(fā)快遞數(shù)據(jù)

2.EventHub Entity ingestion(Ingestion實(shí)體)

3.Databricks Structured Streaming(流計(jì)算框架)

4.EventHub Entity alerting(Alerting實(shí)體)

5.Logic App

Azure Databrick Structure Streaming的實(shí)現(xiàn)

1.Terraform自動(dòng)化部署

通過(guò)Terraform部署的服務(wù)組件包括Azure虛擬機(jī)、Azure Databricks、EventHub、Logic App,具體的tf文件和變量可參見(jiàn)這里。每項(xiàng)服務(wù)Terraform Azure Provider都由Resource支持,具體可參考官方文檔。部署完成后的資源清單如下圖所示,所有資源都部署在中國(guó)北二區(qū)域。

2.Producer代碼發(fā)布

模擬的生產(chǎn)者代碼通過(guò)虛擬機(jī)發(fā)布,通過(guò)調(diào)用Azure EventHub的SDK將消息寫(xiě)入,具體代碼可見(jiàn)這里,幾個(gè)重要配置簡(jiǎn)單說(shuō)明下:

azure.eventhub:Azure EventHub SDK包,需要通過(guò)pip3 install azure.eventhub來(lái)指定安裝。

createbatch():通過(guò)該方法批量發(fā)快遞數(shù)據(jù),本次示例以1條消息為1個(gè)批次發(fā)國(guó)際快遞EventHub Entity ingestion。

CONNECTIONSTR:Azure EventHub Endpoint,該連接字符串可以在門(mén)戶上Shared access policies的Connection string–primary key中查看。

EVENTHUBNAME:寫(xiě)入的EventHub Entity Name。

3.Azure Databricks集群配置及Structure Streaming Notebook的集成

Azure Databricks的創(chuàng)建過(guò)程是:首先在Azure上創(chuàng)建一個(gè)Databricks實(shí)體,然后在此基礎(chǔ)上在實(shí)體內(nèi)部創(chuàng)建Workspace以及Cluster,再提交Job。每個(gè)Databricks資源都有唯一的ID和Endpoint與之對(duì)應(yīng),以便能夠進(jìn)行Restful API調(diào)用,集群通過(guò)Databricks門(mén)戶創(chuàng)建即可。

本示例將創(chuàng)建1個(gè)Driver和2個(gè)Worker,共計(jì)3個(gè)節(jié)點(diǎn)的Standard Cluster,Databricks版本為6.4(包含Apache Spark 2.4.5、Scala 2.11)。如果需要做機(jī)器學(xué)習(xí)相關(guān)計(jì)算,可啟用集成GPU/ML框架的版本,詳細(xì)說(shuō)明見(jiàn)官方文檔,這里不做贅述。

集群狀態(tài)變?yōu)镽unning就意味著就緒可以使用了。不過(guò)在導(dǎo)入Python Notebook之前,需要通過(guò)Maven Central安裝com.microsoft.azure:azureeventhubsspark庫(kù)文件,以便安裝Spark連接Azure EventHub Connector,需要注意庫(kù)文件的版本要匹配。

Notebook可以直接在門(mén)戶里新建寫(xiě)入,也可以在VS Code等IDE中編寫(xiě)完之后發(fā)布。本文采用第二種模式,原因是IDE豐富的插件可以提高效率。具體的Notebook本文不做展示,放在這里,有需要的童鞋可以自行查看。通過(guò)import導(dǎo)入后,附上導(dǎo)入后的截圖并做幾點(diǎn)說(shuō)明:

整個(gè)Notebook分為三個(gè)階段:

第一階段:從EventHub Entity ingestion讀取Producer寫(xiě)入的數(shù)據(jù),通過(guò)Streaming DataFrames的spark.readStream()創(chuàng)建。

第二階段:通過(guò)DataFrame豐富的函數(shù)做字段篩選,篩選出來(lái)我們需要的字段。

第三階段:回寫(xiě)EventHub Entity alerting,通過(guò)Streaming DataFrames的spark.writeStream()流式寫(xiě)入,注意利用Checkpoint方便任務(wù)終止再運(yùn)行。

當(dāng)Producer運(yùn)行起來(lái)后,EventHub就會(huì)不斷有數(shù)據(jù)寫(xiě)入,所以能看到Spark的Input Records圖像。對(duì)于每一個(gè)Job,都能看到對(duì)于該任務(wù)分配的資源和Spark參數(shù)配置項(xiàng)。

4.Logic APP配置郵件告警

經(jīng)過(guò)Azure Databricks的數(shù)據(jù)篩選后,篩選出來(lái)的Messages都寫(xiě)入了EventHub Entity alerting中,此時(shí)通過(guò)LogicApp來(lái)定義一個(gè)自動(dòng)化的工作流來(lái)進(jìn)行郵件告警。具體創(chuàng)建過(guò)程選擇Blank,然后自己創(chuàng)建Step即可,當(dāng)然Azure門(mén)戶上的示例模板也可以用來(lái)參考,如下圖所示:

第一步訂閱EventHub Entity alerting,第二步集成Outlook郵件接口發(fā)快遞告警郵件。所以當(dāng)目標(biāo)消息被篩選出來(lái)之后,LogicApp就按照定義的郵件內(nèi)容(本文是消息內(nèi)容和時(shí)間戳)來(lái)發(fā)快遞郵件,發(fā)快遞郵件的截圖如下:

總結(jié)

總體上,一個(gè)通過(guò)消息隊(duì)列Azure EventHub以及Databricks做流計(jì)算處理的示例就完成了。

如果消息生產(chǎn)者Producer不斷產(chǎn)生消息,那么整個(gè)任務(wù)就會(huì)一直運(yùn)行下去,當(dāng)出現(xiàn)目標(biāo)消息的時(shí)候就會(huì)不斷的持續(xù)告警。在Spark推出Structure Streaming后,也解決了Spark Streaming micro batch的局限性。

本文開(kāi)頭提及的需求已經(jīng)順利實(shí)現(xiàn)!

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


文章推薦
Facebook做廣告推廣還能這樣來(lái)1,facebook廣告推廣步驟與技巧
Google AD廣告教程Google Shopping邏輯,谷歌推廣怎么添加廣告系列
「Shopify」可以增加電子商務(wù)銷(xiāo)售的9個(gè)最佳比較購(gòu)物引擎,中國(guó)賣(mài)家的shopify可以使用shop pay嗎
Google游戲峰會(huì)演講視頻——2020游戲增長(zhǎng)三大挑戰(zhàn)及應(yīng)對(duì)策略,2020google play app排名


特別聲明:以上文章內(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客戶經(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)取