原创声明:
0. 简介
本文作者比较苦逼,学了不少语言,就是没有学Scala。在尝试开发Spark APP的时候吃了不少苦头。特别是在Eclipse之中搭建Spark App 开发环境的时候,很难找到匹配的资料。
因此在此总结一下当时的配置步骤,希望对后来的人有所帮助
注意:
- 当前配置的Spark版本还是1.6.1. 理论上对修改成Spark2.0 只需要修改配置文件
- 本文采用的是maven 的方式管理项目
- 笔者只在Ubuntu Desktop + Windows 10 上面配置成功。 Windows 7 + 老版本的Spark 很可能失败
1. 环境准备
- Eclipse 请不要使用最新的Neon(4.6),太多Bug了。 还是使用最新的Mars(4.5)系列吧
- JDK 版本8.x (Linux推荐Oracle, 没有测试过OpenJDK)
- 因为只是用Java,因此无需安装Scala及其相应的插件
2. 创建一个新的maven项目
3. pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.10</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.10.5</version> </dependency> |
这里只列出了必要的几个依赖。 其他的请根据你自己的项目需求添加
4. 使用maven打包
之后在Goal 之中填写clean package 即可
如果在修改了与Spark相关的代码之后,需要重新编译打包才行。 否则会有异常提示。
5. 代码编写注意事项:
在创建JavaSparkContext的时候,需要把自己加进去。
1 2 3 4 5 6 |
public static JavaSparkContext getContext(String taskName) { JavaSparkContext sc = new JavaSparkContext(SparkConnUtils.getSparkConf(taskName)); sc.addJar("target/sparkstat-0.0.1-SNAPSHOT.jar"); return sc; } |
其中target/sparkstat-0.0.1-SNAPSHOT.jar是maven 运行之后生成的完整的jar包
上面几步完成之后 就可以开些写属于你自己的Spark App啦
比如Spark / Hadoop 的入门程序 Word Count. 具体可以参考之前的文章:《Spark入门: 实现WordCount的3种方式》
本文为原创文章,转载请注明出处

文章评论
风吹过,我来过!
有些高版本的eclipse会自带Maven环境 , 其实如果仅仅只是想练习spark程序的话也可以不用Maven , 直接在官网下载的spark后配置一下环境变量就行
请问能再详细说说嘛? 看起来按照你说的来做,可能要简单很多呢~