.NET for Apache Spark 适合.net 6.0 Windows

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

.NET for Apache Spark 适合.net 6.0 Windows

.NET for Apache Spark 适合.net 6.0 Windows

.NET for Apache Spark 适合.net 6.0 Windows

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

步骤3:安装java JDK

步骤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

.NET for Apache Spark 适合.net 6.0 Windows

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

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

.NET for Apache Spark 适合.net 6.0 Windows

解压后提取到 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的运行过程。

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

.NET for Apache Spark 适合.net 6.0 Windows

 

上一篇:Linux setuid与权能介绍 转载


下一篇:Integration(定积分)