IntelliJ搭建Scala及Spark工程

1          软件准备

注意:以下是针对Windows 7 64bit的开发环境搭建

软件名称

描述

下载地址

版本

软件安装包

JDK

JAVA 开发工具包

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Java SE Development Kit 8u171

Windows x64

jdk-8u171-windows-x64.exe

Scala SDK

Scala开发工具包

https://www.scala-lang.org/download/2.11.12.html

2.11.12

Windows (msi installer)

scala-2.11.12.msi

IntelliJ IDEA

集成开发工具

https://www.jetbrains.com/idea/download/#section=windows

2018.1.2

Community

ideaIC-2018.1.2.exe

Scala Plugin

IntelliJ IDEA的Scala插件

https://plugins.jetbrains.com/plugin/1347-scala

2018.1.9

scala-intellij-bin-2018.1.9.zip

Spark

Spark组件

http://spark.apache.org/downloads.html

2.1.1 (May 02 2017)

Pre-build for Apache Hadoop 2.7 and later

spark-2.3.0-bin-hadoop2.7.tgz

Winutils

为Hadoop在Windows运行提供基本命名行的工具

https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe

For hadoop-2.7.1

winutils.exe

2          软件安装和环境配置

2.1      JDK 安装

Step 1:   双击jdk-8u171-windows-x64.exe,一直点击“下一步”直到安装完成

2.2      Scala SDK 安装

Step 1:   双击scala-2.11.12.msi,一直点击“下一步”直到安装完成

2.3      IntelliJ IDEA 安装

Step 1:   双击ideaIC-2018.1.2.exe,一直点击“下一步”直到安装完成

Step 2:   点击“开始>>所有程序>> JetBrains>>IntelliJ IDEA Community Edition 2018.1.2”,进入Welcome to IntelliJ IDEA界面。

 

2.3.1  Scala Plugin安装

Step 1:   在Welcome to IntelliJ IDEA界面选择“Configure>>Plugins”,打开Plugins界面

 

Step 2:   点击“Install plugin from disk…”按钮,选择scala-intellij-bin-2018.1.9.zip文件所在路径后,点击“OK”

 

Step 3:   Scala Plugin安装后,激活需要重启IntelliJ IDEA。

 

3          创建Scala工程

Step 1:   在Welcome to IntelliJ IDEA界面,点击“Create New Project”,进入New Project界面。

 

Step 2:   New Project界面选择“Scala>>IDEA”,点击“Next”按钮

 

Step 3:   输入工程名称,工程路径,选择JDK安装路径(默认为“C:Program FilesJavajre1.8.0_171”),选择Scala SDK安装路径(默认为“C:Program Files (x86)scala”),点击“Finish”按钮,进入该工程的编辑界面

 

4          添加Spark库

Step 1:   解压spark-2.1.1-bin-hadoop2.7.tgz文件

Step 2:   将winutils.exe拷贝到Step 1解压后的spark-2.1.1-bin-hadoop2.7in目录中

Step 3:   设置Windows的环境变量HADOOP_HOME为解压后的目录,设置完成后重启IntelliJ IDEA

 

Step 4:   在IntelliJ IDEA中点击菜单“File>>Project Structure”,进入“Project Structure”界面

Step 5:   在“Project Structure”界面,选择“Global Libraries>> +>>Java”,选择添加Spark相关所有jar包(默认在spark-2.1.1-bin-hadoop2.7jars目录下,可按“Shift”键进行多选)。

 

 

Step 6:   选择完成后进入“Choose Modules”界面,点击“OK”。

 

Step 7:   在“Project Structure”界面,更改库名为spark-lib,再点击“OK”

Step 8:   在Project树的“External Libraries”节点下出现 “spark-lib”节点,表示添加Spark成功。

 

5          验证Spark环境搭建

将以下文件拷贝到src目录下,然后右键运行

 WordCount.scala

import org.apache.spark.{SparkConf, SparkContext}

object WordCount {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("WordCount").setMaster("local")
    val sc = new SparkContext(conf)
    val textFile = sc.textFile("src/WordCount.scala")
    val counts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1))
      .reduceByKey(_ + _)
    counts.foreach(println)
    sc.stop()
  }
}

输出以下信息表示环境搭建成功

6          FAQ

6.1      java.lang.IllegalArgumentException: System memory 259522560 must be at least 4.718592E8. Please use a larger heap size.

 

 

解决办法

方法1:在创建SparkConf的语句后添加一行语句,

sparkConf.set("spark.testing.memory", "1073741824");

方法2:在如上个问题提到的VM Arguments中添加一行

-Dspark.testing.memory=1073741824

方法3:在VM Arguments中添加一行-Xmx1g

注意,上述方法中涉及的数字,是指Spark运行需要操作系统提供的内存大小(相当于提前预留好,实际中大多数可能没用上)。在默认情况下,Spark需要的内存为4G,如果机器能提供的内存小于4G,就会出现以上错误。所以在设置时,一定要保证设置的内存大小小于机器能提供的大小。

欢迎各路侠客多多指教^_^
原文地址:https://www.cnblogs.com/cailingsunny/p/14695430.html