• Azure Databricks大數(shù)據(jù)構(gòu)建營 小試牛刀,大數(shù)據(jù)基礎(chǔ)組件-ESG跨境

    Azure Databricks大數(shù)據(jù)構(gòu)建營 小試牛刀,大數(shù)據(jù)基礎(chǔ)組件

    來源網(wǎng)絡(luò)
    來源網(wǎng)絡(luò)
    2022-05-31
    點(diǎn)贊icon 0
    查看icon 825

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

    Azure Databricks大數(shù)據(jù)構(gòu)建營 小試牛刀,大數(shù)據(jù)基礎(chǔ)組件




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

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

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

    基于Azure Databricks的流計算就可以輕松實現(xiàn)。一起來看看吧。

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

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

    本系列的第一篇文章概括介紹了有關(guān)Azure Databricks的基礎(chǔ)知識,錯過的童鞋可以點(diǎn)擊這里回看。而本篇,將帶領(lǐng)大家小試牛刀,基于Azure Databricks開發(fā)上文提到的那種實時告警系統(tǒng)。準(zhǔn)備好,我們這就開始。

    流計算架構(gòu)說明

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

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

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

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

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

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

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

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

    2.EventHub Entity ingestion(Ingestion實體)

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

    4.EventHub Entity alerting(Alerting實體)

    5.Logic App

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

    1.Terraform自動化部署

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

    2.Producer代碼發(fā)布

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

    azure.eventhub:Azure EventHub SDK包,需要通過pip3 install azure.eventhub來指定安裝。

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

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

    EVENTHUB_NAME:寫入的EventHub Entity Name。

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

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

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

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

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

    整個Notebook分為三個階段:

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

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

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

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

    4.Logic APP配置郵件告警

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

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

    總結(jié)

    總體上,一個通過消息隊列Azure EventHub以及Databricks做流計算處理的示例就完成了。

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

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

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


    文章推薦
    Azure使用自適應(yīng)應(yīng)用程序控制來減少計算機(jī)的攻擊面,azure 集成代碼檢查工具
    Azure 網(wǎng)絡(luò)安全最佳做法,azure active directory 介紹
    Google Cloud的API 設(shè)計,google cloud storage
    Google Ads如何設(shè)置出價,如何開啟google play服務(wù)


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

    搜索 放大鏡
    韓國平臺交流群
    加入
    韓國平臺交流群
    掃碼進(jìn)群
    歐洲多平臺交流群
    加入
    歐洲多平臺交流群
    掃碼進(jìn)群
    美國賣家交流群
    加入
    美國賣家交流群
    掃碼進(jìn)群
    ESG跨境專屬福利分享群
    加入
    ESG跨境專屬福利分享群
    掃碼進(jìn)群
    拉美電商交流群
    加入
    拉美電商交流群
    掃碼進(jìn)群
    亞馬遜跨境增長交流群
    加入
    亞馬遜跨境增長交流群
    掃碼進(jìn)群
    亞馬遜跨境增長交流群
    加入
    亞馬遜跨境增長交流群
    掃碼進(jìn)群
    拉美電商交流群
    加入
    拉美電商交流群
    掃碼進(jìn)群
    ESG獨(dú)家招商-PHH GROUP賣家交流群
    加入
    ESG獨(dú)家招商-PHH GROUP賣家交流群
    掃碼進(jìn)群
    2025跨境電商營銷日歷
    《2024年全球消費(fèi)趨勢白皮書——美國篇》
    《2024TikTok出海達(dá)人營銷白皮書》
    《Coupang自注冊指南》
    《eMAG知識百科》
    《TikTok官方運(yùn)營干貨合集》
    《韓國節(jié)日營銷指南》
    《開店大全-全球合集》
    《TikTok綜合運(yùn)營手冊》
    《TikTok短視頻運(yùn)營手冊》
    通過ESG入駐平臺,您將解鎖
    綠色通道,更高的入駐成功率
    專業(yè)1v1客戶經(jīng)理服務(wù)
    運(yùn)營實操指導(dǎo)
    運(yùn)營提效資源福利
    平臺官方專屬優(yōu)惠

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

    訂閱
    聯(lián)系顧問

    平臺顧問

    平臺顧問 平臺顧問

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

    icon icon

    小程序

    微信小程序

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

    icon icon

    返回頂部

    【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營干貨 關(guān)閉
    進(jìn)行中
    進(jìn)行中
    2025跨境電商營銷日歷
    包括傳統(tǒng)中、外重要節(jié)日及重點(diǎn)電商營銷節(jié)點(diǎn)還對營銷關(guān)鍵市場、選品輔以說明,讓你的365天安排的明明白白!
    免費(fèi)領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    【平臺干貨】eMAG知識百科
    涵蓋從開店到大賣6個板塊:開店、運(yùn)營、廣告、選品、上架、物流
    免費(fèi)領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    TikTok運(yùn)營必備干貨包
    包含8個TikTok最新運(yùn)營指南(市場趨勢、運(yùn)營手冊、節(jié)日攻略等),官方出品,專業(yè)全面!
    免費(fèi)領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    韓國coupang平臺自注冊指南
    韓國Coupang電商平臺從注冊準(zhǔn)備、提交申請到完成注冊,開店全流程詳細(xì)指引。
    免費(fèi)領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    全球平臺詳解——全球合集
    涵括全球100+個電商平臺的核心信息,包括平臺精煉簡介、競爭優(yōu)勢、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
    立即領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    韓國電商節(jié)日營銷指南
    10+韓國電商重要營銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長;8大節(jié)日營銷技巧輕松撬動大促流量密碼。
    免費(fèi)領(lǐng)取
    進(jìn)行中
    進(jìn)行中
    全球平臺詳解——?dú)W洲篇
    涵蓋20+歐洲電商平臺,詳細(xì)解讀優(yōu)勢、入駐條件、熱銷品等
    立即領(lǐng)取