Azure Databricks大數(shù)據(jù)構(gòu)建營 掐指一算,azure 大數(shù)據(jù)-ESG跨境

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

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-04-29
點(diǎn)贊icon 0
查看icon 775

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

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





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

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

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

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

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

背景介紹

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

Delta Lake是一種可以提高數(shù)據(jù)湖可靠性的開源存儲層,由Databricks開發(fā)并開源。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ù):可序列化的隔離級別可避免讀者看到不一致的數(shù)據(jù)。

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

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

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

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

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

總的來說,Delta Lake不僅能在需要事務(wù)符合ACID特性的場景提供支持,還針對性能也做了相當(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庫中支持hadoopazuredatalake/hadoopazure/wildflyopenssl JAR,具體過程可以見這里。所以這時(shí)PaaS的優(yōu)勢就顯示出來了:Azure Databricks在集群創(chuàng)建好的同時(shí)就已經(jīng)在集群上啟用了該庫,直接調(diào)用即可。Azure Datalake Gen2的創(chuàng)建過程本文不再贅述,具體見官方文檔。

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

cmd2:非掛載方式

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

cmd3:掛載方式

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

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


文章推薦
半導(dǎo)體設(shè)備進(jìn)口深圳清關(guān)物流,上海半導(dǎo)體機(jī)械設(shè)備進(jìn)口清關(guān)物流
Azure存儲管理工具——AzCopy,azure存儲架構(gòu)
B2B業(yè)務(wù)在使用PayPal時(shí)的“雷區(qū)”(二),paypal新用戶為什么不能收款
Android如何在華為應(yīng)用市場發(fā)布應(yīng)用,華為手機(jī)應(yīng)用體積越來越大


特別聲明:以上文章內(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)群
《TikTok官方運(yùn)營干貨合集》
《TikTok綜合運(yùn)營手冊》
《TikTok短視頻運(yùn)營手冊》
《TikTok直播運(yùn)營手冊》
《TikTok全球趨勢報(bào)告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺篇》
《開店大全-東南亞篇》
《CD平臺自注冊指南》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營實(shí)操指導(dǎo)
運(yùn)營提效資源福利
平臺官方專屬優(yōu)惠

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

訂閱
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

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

icon icon

小程序

微信小程序

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

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營干貨 關(guān)閉