Spark 2.x+IntelliJ IDEA 2017.3支付条件搭建和开发示范

三、开发示范

4. 打包jar包

照例是从老朋友File–Project Structure 进入,在Artifacts下添加jar。

留神:打包的jar包不需要把spark源码也搞进去的,因为集群上自我就有spark代码,所以就留给以下这六个文本即可~~~
点击apply –ok

在主界面,Build—Build Artifacts。最先编译~~~
编译OK后会多出一个out目录,里面有最终jar包

查阅主类,MANIFEST.MF文件内容如下:

Manifest-Version:1.0

Main-Class:demo.SparkDemo

永不maven,不用sbt,只需多少个库

1. 新建工程

实际这里选个java工程就行了,不用搞那么复杂,记住首如果信赖库java、scala、spark源码库添加好就行。

下图显示了创办工程时添加java-sdk、scala-sdk的历程。

创造一些必需的目录,我的demo的目录树如下:

在scala目录右键mark Directory as — Source Root

5. 集群上运行jar包

Jar包放到/home/hadoop目录下

>>spark-submit  –class demo.SparkDemo–master spark://:7077
project_name.jar

讲明:–class <主类名>
最终跟的参数是大家的jar包。–master指定了集群master,中间还是可以够自定义一些spark配置参数,例如:

–num-executors 100 \

      –executor-memory6G \

      –executor-cores4 \

      –driver-memory1G \

      –confspark.default.parallelism=1000 \

      –confspark.storage.memoryFraction=0.5 \

      –confspark.shuffle.memoryFraction=0.3 \

集群上运行成功~~~

总结

事实上看了成千上万怎么着maven工程、scala工程构建格局,其实赤峰小异,重点无非是java、spark、scala的依靠搞好,这才是基本问题。

留神版本一致性,包括:

· 开发机和集群的spark源码版本相同

· 开发IDE中scala插件和系统装置的scala和集群上scala版本一样

· scala 和spark 版本匹配。(spark2.x 相比 1.x 有成千上万不同,请使用scala
2.11+版本)

===================分割线=======================

踩过的坑 ~ (๑ŐдŐ)b,欢迎小伙伴们和本人分享碰到的题目 (*^__^*) ~

二、环境搭建

2. 抬高spark源码倚重

从File – Project Structure 进入,添加Lib,按下图操作停止后,点击apply –
ok

文件树的表面库会油不过生以下两个:分别是java、spark、scala【重点强调唷~
三者缺一不可,其他随意】

1. 着力配置

设置java、scala,配置环境变量JAVA_HOME、SCALA_HOME为相应安装路径

PATH前边添加%JAVA_HOME%\jre\bin; %SCALA_HOME%\bin

【WIN】%JAVA_HOME%

【Linux】$JAVA_HOME

小心:scala 安装路径无法有空格,否则会报错

>>找不到或不可以加载主类scala.tools.nsc.MainGenericRunner

查实标准

开拓CMD,分别施行java、scala命令。

荒唐集锦

阴差阳错境况:

命令行运行scala时,找不到或无法加载主类scala.tools.nsc.MainGenericRunner

出错原因:

scala安装目录出现了空格。

题材解决:

将Scala 移动到没有空格的公文夹下。重新安装SCALA_HOME。文件解决。

出错情形:

编写程序时,调用rdd.saveAsTextFile 报错NullPointerException

阴差阳错原因:

和hadoop文件输出配置有关,下个补丁,配置一下即可

解决方法:

1)下载文件winutils.exe

2) 将此文件放置在某个目录下,比如D:\hadoop\bin\中。

3)在scala程序的一方始阐明:System.setProperty(“hadoop.home.dir”,”D:\\hadoop\\”)

出错情状:

maven起首化工程时,连接https://repo.maven.apache.org/maven2逾期失败

出错原因:

PC网络本身的题材。无法访问外网。

缓解模式:

运用maven离线情势,手动把倚重库导入 <用户目录>\\.m\\
repository

Q:什么日期需要maven离线情势吗?

A:没有网络,只有本地库,又是用maven来管理项目,在编译或者下载第三方Jar的时候,老是去中心仓库上电动下载,导致出问题。

1)    全局设置Work offline 如下图所示

2)    编辑 <用户目录>\\.m\\
settings.xml,写一行:<offline> true</offline>

2. 安装配备AMDliJ IDEA 2017.3

起头化后,在file –settings 中添加scala插件,重启

【原创】Helenykwang 于2018-01-13 18:10:18编写

3. 编写程序

新建一个scala文件斯帕克(Spark)(Spark)Demo.scala,代码如下:

package demo

importorg.apache.spark._

objectSparkDemo{

  def main(args: Array[String]): Unit = {

        val masterUrl = “local[1]”

        val sparkconf =
newSparkConf().setAppName(“helenApp”).setMaster(masterUrl)

        //spark配置,提议保留setMaster(local)

        //调试的时候需要,在实际集群上跑的时候可在命令行自定义

        val sc = new SparkContext(sparkconf)

        val rdd=sc.parallelize(List(1,2,3,4,5,6)).map(_*3) 
//将数组(1,2,3,4,5,6)分别乘3

      rdd.filter(_>10).collect().foreach(println) 
//打印大于10的数字

        println(rdd.reduce(_+_))  //打印 和

        println(“hello world”)  // demo必备的一句代码!!! [认真脸]

  }

}

此刻,scala编辑界面可能现身这句话,点击setup scala SDK就能够了。

看重库添加成功的检察标准是,import org.apache.spark._不报错。

点击绿色三角形,run~

在console界面正常输出!(*^__^*)

一、环境表达

集群:Spark 2.1.2 + hadoop2.3

开发机OS:win7

Jdk 1.8.0_151

下载jre即可
http://www.oracle.com/technetwork/java/javase/downloads/index.html

注:JDK是一个平台特定的软件,有指向Windows,Mac和Unix系统的例外的安装包。
可以说JDK是JRE的超集,它包含了JRE的Java编译器,调试器和主旨类

scala 2.11.8
http://www.scala-lang.org/download/

IntelliJ IDEA 2017.3

spark 源码spark-2.1.2-bin-hadoop2.3

相关文章