.Net for Spark 实现 WordCount 应用及调试入坑详解

.Net for Spark 实现WordCount应用及调试入坑详解python

1.    概述

      iNeuOS云端操做系统如今具有物联网、视图业务建模、机器学习的功能,可是缺乏一个计算平台产品。最近在调研使用什么语言进行开发,而且研究实现的技术路线。iNeuOS全系使用C#/JS/CSS/PYTHON开发,因此优先选择C#实现计算平台的开发,固然也不排除使用scala和python等语言。最近微软发布.Net for Spark组件,与 .NET Standard 2.0 兼容,能够在 Linux、macOS 和 Windows 系统上使用,就像 .NET 的其他部分同样。在网上进行了调研,下图展现了 .NET Core 与 Python、Scala 在 TPC-H 查询集上的性能对比。以下图:linux

        在github上看了源代码,代码质量比较高。最近两天进行了应用及测试,总体流程已经走通,感受比较清爽。git

2.系统环境

         操做系统:Ubuntu 16.04github

         开发语言:.Net Core 2.2apache

         计算框架:.Net for Sparkubuntu

         开发工具:VSCODEapp

         测试工具:netcat框架

3.环境部署

      3.1安装 .Net Core 2.2

          参见安装过程:https://dotnet.microsoft.com/download/linux-package-manager/ubuntu16-04/sdk-current机器学习

      3.2安装 .Net for Spark及代码实现

         参见安装过程:https://github.com/dotnet/spark/blob/master/docs/getting-started/ubuntu-instructions.md函数

         Program.cs实现的代码参见:https://github.com/dotnet/spark/blob/master/examples/Microsoft.Spark.CSharp.Examples/Sql/Streaming/StructuredNetworkWordCount.cs

     3.3安装 netcat

命令行:apt-get install netcat      

 

4.开发调试

     4.1启动netcat

    主要用于实时发送字符串,实现字符串统计。

命令行:nc -lk 9999

 

    4.2启动调试模式

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

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

     不执行这个命令,在vscode调试的时候,会出现异常:[Exception] [JvmBridge] Connection refused 127.0.0.1:5567

    4.3启动vscode调试

    在main函数的第一行增长一行测试代码:

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

      主要用于链接netcat服务,接收netcat发送过来的字符串,并进行字符串统计。以下图:

     4.4调试过程

     打开“4.1启动netcat”和“4.2启动调试模式”窗口,netcat用于发送数据,调试模式窗口能够接收到数据并进行统计。以下图:

5.应用发布

      把main函数内的测试代码删除掉,在工程目录下执行命令:dotnet build,生成新的程序集。

      在程序集目录:HelloSpark/bin/Debug/netcoreapp2.2下执行命令:

命令行:spark-submit --class org.apache.spark.deploy.DotnetRunner --master local microsoft-spark-2.4.x-0.3.0.jar dotnet HelloSpark.dll localhost 9999

       一样在netcat窗口发送数据,结果以下图:

6.项目合做

      承接工业物联网、大数据、工业互联网项目。官方网站(iNeuOS):http://www.ineuos.net


       项目代码下载:博客园下载

相关文章
相关标签/搜索