溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析

發(fā)布時(shí)間:2021-12-17 10:32:33 來(lái)源:億速云 閱讀:175 作者:柒染 欄目:互聯(lián)網(wǎng)科技

本篇文章為大家展示了.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ì)比。如下圖:

.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析

        在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)境部署

      3.1安裝 .Net Core 2.2

          參見(jiàn)安裝過(guò)程:https://dotnet.microsoft.com/download/linux-package-manager/ubuntu16-04/sdk-current

      3.2安裝 .Net for Spark及代碼實(shí)現(xiàn)

         參見(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

     3.3安裝 netcat

1

命令行:apt-get install netcat

4.開(kāi)發(fā)調(diào)試

     4.1啟動(dòng)netcat

    主要用于實(shí)時(shí)發(fā)送字符串,實(shí)現(xiàn)字符串統(tǒng)計(jì)。

1

命令行:nc -lk 9999

    4.2啟動(dòng)調(diào)試模式

    在程序集目錄:HelloSpark/bin/Debug/netcoreapp2.2下。

1

命令行:spark-submit --class org.apache.spark.deploy.DotnetRunner --master local microsoft-spark-2.4.x-0.3.0.jar debug

     不執(zhí)行這個(gè)命令,在vscode調(diào)試的時(shí)候,會(huì)出現(xiàn)異常:[Exception] [JvmBridge] Connection refused 127.0.0.1:5567。

    4.3啟動(dòng)vscode調(diào)試

    在main函數(shù)的第一行增加一行測(cè)試代碼:

1

args=new string[]{      "localhost","9999"};

      主要用于連接netcat服務(wù),接收netcat發(fā)送過(guò)來(lái)的字符串,并進(jìn)行字符串統(tǒng)計(jì)。如下圖:

.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析

     4.4調(diào)試過(guò)程

     打開(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ì)。如下圖:

.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析

上述內(nèi)容就是.Net for Spark如何實(shí)現(xiàn)WordCount 應(yīng)用及調(diào)試入坑分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI