版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sdyb_yueding/article/details/78093453
一、下载安装IntelliJ IDEA
https://www.jetbrains.com/idea/download
二、安装Scala插件
三、创建Maven工程
填写完GroupId,ArtifactId后填写工程名称,一直下一步,直到工程创建完成。
创建完成后目录结构如下图
在main目录下面创建scala目录并设置为资源目录,网上很多教程说把多余的java 目录删掉,其实没必要,有时我们开发spark时需要用到scala和java ,java的代码可以写在原有的java目录下。
四、修改pom.xml文件
<dependencies >
<dependency >
<groupId > org.scala-lang</groupId >
<artifactId > scala-compiler</artifactId >
<version > 2.10.4</version >
<scope > compile</scope >
</dependency >
<dependency >
<groupId > org.apache.spark</groupId >
<artifactId > spark-core_2.10</artifactId >
<version > 2.1.0</version >
</dependency >
</dependencies >
<build >
<plugins >
<plugin >
<groupId > net.alchim31.maven</groupId >
<artifactId > scala-maven-plugin</artifactId >
<executions >
<execution >
<id > scala-compile-first</id >
<phase > process-resources</phase >
<goals >
<goal > add-source</goal >
<goal > compile</goal >
</goals >
</execution >
</executions >
</plugin >
</plugins >
</build >
五、代码编写运行
在scala目录下创建对应的包,然后创建scala类,注意:scala程序默认程序入口需要类是object,不然无法找到主类。
object ScalaTest {
def main (args: Array[String]) : Unit = {
val conf = new SparkConf()
conf.setAppName("WorkCount" ).setMaster("local[2]" )
val sc = new SparkContext(conf)
val rdd = sc.textFile("E:\\abc.txt" )
rdd.flatMap(line => line.split(" " )).map(w =>
(w,1 )).reduceByKey((x,y) => x + 1 ).foreach(println)
}
}
以上代码为spark单词统计例子,运行后可以看到结果如下
备注:若运行时出现下图错误,请参照
http://blog.csdn.net/lanwenbing/article/details/40783335 解决,也可以不用管,不影响运行结果,有强迫症的可以处理下。
参考:http://www.jianshu.com/p/27888ca5dcbb