您好,登錄后才能下訂單哦!
本篇文章為大家展示了.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
.Net for Spark 實(shí)現(xiàn)WordCount應(yīng)用及調(diào)試入坑詳解
1. 概述
iNeuOS云端操作系統(tǒng)現(xiàn)在具備物聯(lián)網(wǎng)、視圖業(yè)務(wù)建模、機(jī)器學(xué)習(xí)的功能,但是缺少一個(gè)計(jì)算平臺(tái)產(chǎn)品。最近在調(diào)研使用什么語(yǔ)言進(jìn)行開(kāi)發(fā),并且研究實(shí)現(xiàn)的技術(shù)路線(xiàn)。iNeuOS全系使用C#/JS/CSS/PYTHON開(kāi)發(fā),所以?xún)?yōu)先選擇C#實(shí)現(xiàn)計(jì)算平臺(tái)的開(kāi)發(fā),當(dāng)然也不排除使用scala和python等語(yǔ)言。最近微軟發(fā)布.Net for Spark組件,與 .NET Standard 2.0 兼容,可以在 Linux、macOS 和 Windows 系統(tǒng)上使用,就像 .NET 的其余部分一樣。在網(wǎng)上進(jìn)行了調(diào)研,下圖展示了 .NET Core 與 Python、Scala 在 TPC-H 查詢(xún)集上的性能對(duì)比。如下圖:
在github上看了源代碼,代碼質(zhì)量比較高。最近兩天進(jìn)行了應(yīng)用及測(cè)試,整體流程已經(jīng)走通,感覺(jué)比較清爽。
2.系統(tǒng)環(huán)境
操作系統(tǒng):Ubuntu 16.04
開(kāi)發(fā)語(yǔ)言:.Net Core 2.2
計(jì)算框架:.Net for Spark
開(kāi)發(fā)工具:VSCODE
測(cè)試工具:netcat
3.環(huán)境部署
參見(jiàn)安裝過(guò)程:https://dotnet.microsoft.com/download/linux-package-manager/ubuntu16-04/sdk-current
參見(jiàn)安裝過(guò)程:https://github.com/dotnet/spark/blob/master/docs/getting-started/ubuntu-instructions.md
Program.cs實(shí)現(xiàn)的代碼參見(jiàn):https://github.com/dotnet/spark/blob/master/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredNetworkWordCount.cs
1 |
|
4.開(kāi)發(fā)調(diào)試
主要用于實(shí)時(shí)發(fā)送字符串,實(shí)現(xiàn)字符串統(tǒng)計(jì)。
1 |
|
在程序集目錄:HelloSpark/bin/Debug/netcoreapp2.2下。
1 |
|
不執(zhí)行這個(gè)命令,在vscode調(diào)試的時(shí)候,會(huì)出現(xiàn)異常:[Exception] [JvmBridge] Connection refused 127.0.0.1:5567。
在main函數(shù)的第一行增加一行測(cè)試代碼:
1 |
|
主要用于連接netcat服務(wù),接收netcat發(fā)送過(guò)來(lái)的字符串,并進(jìn)行字符串統(tǒng)計(jì)。如下圖:
打開(kāi)“4.1啟動(dòng)netcat”和“4.2啟動(dòng)調(diào)試模式”窗口,netcat用于發(fā)送數(shù)據(jù),調(diào)試模式窗口可以接收到數(shù)據(jù)并進(jìn)行統(tǒng)計(jì)。如下圖:
上述內(nèi)容就是.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。