IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark.Net(C#)Windows开发环境安装配置 -> 正文阅读

[大数据]Spark.Net(C#)Windows开发环境安装配置

微软加入ASF之后.NET生态拓展得越来越好了,可喜可贺。
本文基于.NET for Apache? Spark?

  • Java 1.8
  • Apache Spark 2.4.1
  • .NET Framework 4.7.2
  • VS2019

java version “1.8.0_301”
Java? SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot? 64-Bit Server VM (build 25.301-b09, mixed mode)

在这里插入图片描述

按照 Getting Started with Spark .NET on WindowsBuilding Spark .NET on Windows 的说明安装依赖、配置环境变量。

  1. 下载Microsoft.Spark.Worker和spark-2.4.1-bin-hadoop2.7,解压后放到C:\bin下。
  2. 新增环境变量DOTNET_WORKER_DIR,值为C:\bin\Microsoft.Spark.Worker\
  3. 将路径C:\bin\spark-2.4.1-bin-hadoop2.7\bin\加入到环境变量PATH中
  4. 注意:虽然Getting Started with Spark .NET on Windows里没说,但是WinUtils还是需要的。必须要装!
    先确定需要安装的版本:跟Hadoop的版本一样,到C:\bin\spark-2.4.1-bin-hadoop2.7\jars下面看版本,我这个包里是2.7.3,那就装2.7.3版本的WinUtils。winutils 这个作者太忙了,另外一个人接手,所以真正的下载地址应该在 这里 。下载之后还是解压完放到C:\bin\下面,并设置环境变量HADOOP_HOME为C:\bin\hadoop-2.7.3\,然后把C:\bin\hadoop-2.7.3\bin加到PATH里。
  5. 打开VS2019,新建一个Console App,比如说叫Spark.NetFW.Demo,然后把示例代码粘贴进Program.cs里:
using Microsoft.Spark.Sql;

namespace HelloSpark
{
    class Program
    {
        static void Main(string[] args)
        {
            var spark = SparkSession.Builder().GetOrCreate();
            var df = spark.Read().Json("people.json");
            df.Show();
        }
    }
}

并建一个people.json文件,随便写点东西进去,只要不是do not copy就行。或者干脆直接到输出目录下建这个文件都可以。
6. 打开Package Manager Console,安装Microsoft.Spark
7. 编译
8. 打开一个命令行窗口,切换目录到Spark.NetFW.Demo的输出目录下,执行:

spark-submit `
--class org.apache.spark.deploy.dotnet.DotnetRunner `
--master local `
microsoft-spark-2-4_2.11-2.0.0.jar `
Spark.NetFW.Demo.exe

看github的说明里人家写的是:

spark-submit `
--class org.apache.spark.deploy.dotnet.DotnetRunner `
--master local `
microsoft-spark-<version>.jar `
dotnet HelloSpark.dll

这个<version>有文章,
我们可以看到输出目录下有3个jar包:
在这里插入图片描述
文件名里面2.11和2.12指的应该是scala的版本。而我下载的spark 2.4.1用的是scala 2.11.12,scala的版本号如果对不上,则会报一个NoSuchMethodError的错误:

java.lang.NoSuchMethodError: org.apache.spark.internal.Logging.$init$(Lorg/apache/spark/internal/Logging

也就是说,不管我们是用.NET core还是.NET Framework,我们都只能用microsoft-spark-2-4_2.11-2.0.0.jar这个包。用.NET core 3.1和.NET Framework 4.7.2创建的项目我都进行了尝试,只要jar包指定对了就没问题,.NET的版本目前看没发现有影响。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:48:25  更:2021-07-30 12:51:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 5:22:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码