Azure Data Lake Storage Gen 實(shí)戰(zhàn)體驗(yàn),如何使用azuredatastudioAzure Data Lake Storage Gen 實(shí)戰(zhàn)體驗(yàn)引言相較傳統(tǒng)的重量級(jí)OLAP數(shù)據(jù)倉(cāng)庫(kù),“數(shù)據(jù)湖”以其數(shù)據(jù)體量大、綜合成本低、支持非結(jié)構(gòu)化數(shù)據(jù)、查詢(xún)靈活多變等特點(diǎn),受到越來(lái)越多企業(yè)的青睞,逐漸成為了現(xiàn)代......
引言
相較傳統(tǒng)的重量級(jí)OLAP數(shù)據(jù)倉(cāng)庫(kù),“數(shù)據(jù)湖”以其數(shù)據(jù)體量大、綜合成本低、支持非結(jié)構(gòu)化數(shù)據(jù)、查詢(xún)靈活多變等特點(diǎn),受到越來(lái)越多企業(yè)的青睞,逐漸成為了現(xiàn)代數(shù)據(jù)平臺(tái)的核心和架構(gòu)范式。
因此數(shù)據(jù)湖相關(guān)服務(wù)成為了云計(jì)算的發(fā)展重點(diǎn)之一。Azure平臺(tái)早年就曾發(fā)布第一代Data Lake Storage,隨后微軟將它與Azure Storage進(jìn)行了大力整合,于今年初正式對(duì)外發(fā)布了其第二代產(chǎn)品:Azure Data Lake Storage Gen2(下稱(chēng)ADLS Gen2)。ADLS Gen2的口號(hào)是“不妥協(xié)的數(shù)據(jù)湖平臺(tái),它結(jié)合了豐富的高級(jí)數(shù)據(jù)湖解決方案功能集以及 Azure Blob 存儲(chǔ)的經(jīng)濟(jì)性、全球規(guī)模和企業(yè)級(jí)安全性”。
全新一代的ADLS Gen2 實(shí)際體驗(yàn)如何?讓我們來(lái)深入研究一下,尤其是關(guān)注ADLS Gen2 作為存儲(chǔ)層掛載到大數(shù)據(jù)集群后的表現(xiàn)。
ADLS Gen2體驗(yàn):集群掛載
數(shù)據(jù)湖存儲(chǔ)主要適用于大數(shù)據(jù)處理的場(chǎng)景,所以我們選擇建立一個(gè)HDInsight大數(shù)據(jù)集群來(lái)進(jìn)行實(shí)驗(yàn),使用Spark來(lái)訪問(wèn)和操作數(shù)據(jù)湖中的數(shù)據(jù)。可以看到HDInsight已經(jīng)支持ADLS Gen2了:
接下來(lái)是比較關(guān)鍵的存儲(chǔ)配置環(huán)節(jié),我們指定使用一個(gè)新建的ADLS Gen2實(shí)例hdiclusterroot來(lái)作為整個(gè)集群的存儲(chǔ),文件系統(tǒng)名為hdfsroot,如圖所示:
(圖中我們還配置了Additional storage accounts,用于掛載傳統(tǒng)Blob,之后作性能對(duì)比時(shí)會(huì)用到。此處暫不展開(kāi)。)
很有意思的是上圖的下半部分,它允許我們指定一個(gè)Identity,這個(gè)Identity可以代表Spark集群的身份和訪問(wèn)權(quán)限。這非常關(guān)鍵,意味著集群的身份能夠完美地與ADLS Gen2的權(quán)限體系對(duì)應(yīng)起來(lái),在企業(yè)級(jí)的場(chǎng)景中能夠很好地落地對(duì)于大數(shù)據(jù)資源訪問(wèn)的管控。
這里選擇了專(zhuān)門(mén)建立的一個(gè)sparkclusteridentity作為集群的身份。我們事先為它賦予了hdiclusterroot這個(gè)存儲(chǔ)賬號(hào)的storage blob data owner權(quán)限,以便該identity能夠?qū)?shù)據(jù)湖中的數(shù)據(jù)進(jìn)行任意操作:
完成其他配置后按下創(chuàng)建按鈕,Azure會(huì)一鍵生成Spark集群,大約十來(lái)分鐘后整個(gè)集群就進(jìn)入可用狀態(tài)了:
我們迫不及待地SSH登錄進(jìn)集群,查看其默認(rèn)掛載的文件系統(tǒng)。嘗試使用hadoop fs ls列出根目錄下的文件信息:
sshuser@hn0cloudp:~$ hadoop fs ls /
Found 18 items
drwxrxrx sshuser sshuser 0 20190826 03:10 /HdiNotebooks
drwxrxrx sshuser sshuser 0 20190826 03:29 /HdiSamples
drwxrx sshuser sshuser 0 20190826 02:54 /ams
drwxrx sshuser sshuser 0 20190826 02:54 /amshbase
drwxrwxwt sshuser sshuser 0 20190826 02:54 /applogs
drwxrx sshuser sshuser 0 20190906 07:41 /apps
drwxrxx sshuser sshuser 0 20190826 02:54 /atshistory
drwxrxrx sshuser sshuser 0 20190826 03:25 /customscriptactionlogs
drwxrxrx sshuser sshuser 0 20190826 03:19 /example
drwxrx sshuser sshuser 0 20190826 02:54 /hbase
drwxrxx sshuser sshuser 0 20190906 07:41 /hdp
drwxrx sshuser sshuser 0 20190826 02:54 /hive
drwxrx sshuser sshuser 0 20190826 02:54 /mapred
drwxrwxwt sshuser sshuser 0 20190826 03:19 /mapreducestaging
drwxrwxwt sshuser sshuser 0 20190826 02:54 /mrhistory
drwxrwxwt sshuser sshuser 0 20190826 03:19 /tezstaging
drwxrx sshuser sshuser 0 20190826 02:54 /tmp
drwxrwxwt sshuser sshuser 0 20190909 02:31 /user
將文件列表和ADLS Gen2比對(duì),可以看到這里的“根目錄”事實(shí)上就完全對(duì)應(yīng)著hdiclusterroot這個(gè)數(shù)據(jù)湖實(shí)例下hdfsroot文件系統(tǒng)中的數(shù)據(jù),這說(shuō)明集群實(shí)現(xiàn)了該數(shù)據(jù)湖文件系統(tǒng)的掛載:
那么,這樣的遠(yuǎn)程掛載是如何實(shí)現(xiàn)的呢?打開(kāi)集群的coresite.xml 配置文件,答案在fs.defaultFS配置節(jié)中:
property namefs.defaultFS/name valueabfs://hdfsroot@hdiclusterroot.dfs.core.windows.net/value finaltrue/final/property
原來(lái),與通常使用hdfs不同,集群的fs.defaultFS在創(chuàng)建時(shí)就被設(shè)置為了以abfs為開(kāi)頭的特定url,該url正是指向我們的數(shù)據(jù)湖存儲(chǔ)。這個(gè)ABFS驅(qū)動(dòng)(Azure Blob File System)是微軟專(zhuān)門(mén)為Data Lake Storage Gen2開(kāi)發(fā),全面實(shí)現(xiàn)了Hadoop的FileSystem接口,為Hadoop體系和ADLS Gen2架起了溝通橋梁。
為證明數(shù)據(jù)湖文件系統(tǒng)能夠正常工作,我們來(lái)運(yùn)行一個(gè)經(jīng)典的WordCount程序。筆者使用AzCopy往數(shù)據(jù)湖中上傳了一本小說(shuō)《雙城記》 (ATaleOfTwoCities.txt),然后到HDInsight集群自帶的Jupyter Notebook里通過(guò)Scala腳本運(yùn)用Spark來(lái)進(jìn)行詞頻統(tǒng)計(jì):
Great! 我們的Spark on ADLS Gen2實(shí)驗(yàn)完美運(yùn)行,過(guò)程如絲般順滑。
小結(jié)
Azure Data Lake Storage Gen2是微軟Azure全新一代的大數(shù)據(jù)存儲(chǔ)產(chǎn)品,專(zhuān)為企業(yè)級(jí)數(shù)據(jù)湖類(lèi)應(yīng)用所構(gòu)建。它繼承了Azure Blob Storage易于使用、成本低廉的特點(diǎn),同時(shí)又加入了目錄層次結(jié)構(gòu)、細(xì)粒度權(quán)限控制等企業(yè)級(jí)特性。
本文主要實(shí)踐了大數(shù)據(jù)集群掛載ADLS Gen2作為主存儲(chǔ)的場(chǎng)景,在證明ADLS Gen2具備良好Hadoop生態(tài)兼容性的同時(shí),也體驗(yàn)了與傳統(tǒng)HDFS不同的存儲(chǔ)計(jì)算分離架構(gòu)。該種架構(gòu)由于可獨(dú)立擴(kuò)展計(jì)算和存儲(chǔ)部分,非常適合云端特點(diǎn),正受到越來(lái)越多的歡迎。
特別聲明:以上文章內(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)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部