.NET for Apache Spark 适合.net 6.0 Windows

步骤1:可从命令行环境运行 dotnet --versionjavaspark-shell,则表示你的环境已准备就绪且你可跳到下一部分。 如果无法运行任何或部分命令,请执行步骤2。

步骤2:下载并安装 .NET SDK ,本文安装.net6.0

步骤3:安装java JDK,指定版本jdk-8u201-windows-x64.exe

步骤4:下载并安装 Apache Spark,本文为spark-3.0.1-bin-hadoop2.7.tgz,下载地址https://archive.apache.org/dist/spark/spark-3.0.1/

              配置Apache Spark环境变量

HADOOP_HOME C:\bin\spark-3.0.1-bin-hadoop2.7\

SPARK_HOME C:\bin\spark-3.0.1-bin-hadoop2.7\ 

PATH

"%PATH%;%HADOOP_HOME%;%SPARK_HOME%bin"

配置好后,CMD进入命令行

spark-submit --version

 步骤5:安装 .NET for Apache Spark 下载地址,选择图中的版本下载

https://github.com/dotnet/spark/releases

解压后提取到 C:\bin目录。

步骤6:安装 WinUtils.exe

将 下载好的WinUtils.exe 复制到 C:\bin\spark-3.0.1-bin-hadoop2.7\bin目录中。注意版本号要与hadoop的一致

最后,仔细检查是否可从命令行运行 dotnetjavaspark-shell,没有问题了,然后再转到下一部分。

 步骤7:cmd命令行,输入如下命令

dotnet new console -o MySparkApp

cd MySparkApp

dotnet add package Microsoft.Spark

步骤8:在 Visual Studio Code 中打开 Program.cs 或打开任何文本编辑器,再将所有代码替换为以下内容:

using Microsoft.Spark.Sql;
using static Microsoft.Spark.Sql.Functions;

namespace MySparkApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create Spark session
            SparkSession spark =
                SparkSession
                    .Builder()
                    .AppName("word_count_sample")
                    .GetOrCreate();

            // Create initial DataFrame
            string filePath = args[0];
            DataFrame dataFrame = spark.Read().Text(filePath);

            //Count words
            DataFrame words =
                dataFrame
                    .Select(Split(Col("value")," ").Alias("words"))
                    .Select(Explode(Col("words")).Alias("word"))
                    .GroupBy("word")
                    .Count()
                    .OrderBy(Col("count").Desc());

            // Display results
            words.Show();

            // Stop Spark session
            spark.Stop();
        }
    }
}

步骤9:在 MySparkApp 目录中创建一个名为 input.txt 的文件,其中包含以下文本:

然后执行

Hello World
This .NET app uses .NET for Apache Spark
This .NET app counts words with Apache Spark

dotnet build

最后在MySparkApp根目录执行如下命令:

spark-submit --class org.apache.spark.deploy.dotnet.DotnetRunner --master local bin\Debug\net6.0\microsoft-spark-3-0_2.12-2.1.0.jar dotnet bin\Debug\net6.0\MySparkApp.dll input.txt

然后浏览器持续刷新页面http://localhost:4040/jobs/      可查看spark的运行过程。

执行成功后,会在控制台打印出如下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值