在安装开发软件之前,首先需要安装JAVA 和SCALA,并且配置好环境变量。
2、java开发spark程序
1) 下载eclise软件,下载地址:http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/mars2 尽量下载最新的,而且自带maven的eclipse
2) 打开eclipse软件,创建maven项目:
点 击 file ->new ->others ->maven project 点 击 next ,
选 择maven-archetype-quickstart ,点击 next,
group id 为 com.dt.spark,artifact id 为sparkApps,
然后点击 finish。
3) 修改JDK和pom文件
创建 maven 项目后,默认的 jdk 是 1.5 要改成我们前面安装好的 jdk1.8 。在项目上右击 build path ->configure build path 。 在d出页面点击 Libraries,选中 jre system library 。点击 edit,在d出框选择 workspace default jre ,然后点击 finish。然
后在点击 ok。将 pom 文件修改为如下内容,然后等待 eclipse 下载好 maven 依赖的 jar 包, 并编译工程。 编译好工程后有个错误提示, 在此错误列上, 右击选择 quick fix ,在d出页面点击 finish 即可。
1,构建系统的选择,sbt更合适用来构建Scala工程,maven更合适用来构建Java工程2,对于spark中的API来说,Java和Scala有差别,但差别并不大
3,如果用Scala开发spark原型程序,可以用spark-shell“打草稿”,或者直接使用spark-shell做交互式实时查询
4,用Scala代码量将减少甚至一个数量级,不过Scala的使用门槛较高
建议:使用Scala构建spark作业,因为spark本身为sbt所构建,同时使用Scala开发spark作业将有助于理解spark的实现机制
Scala相对Java语法更丰富,更简洁,写起来更像脚本,能够提高开发效率。
使用Java的话代码会规范些,不过太臃肿,代码量更大。
另外Spark基本使用函数式编程,使用Java的话可能需要写一大堆匿名类,而Scala只需要一个lambda表达式。
Java不支持自动类型推导,RDD类基本都是范型,声明时需要写一串类类型,而Scala基本可以省略变量类型。
另外,如果喜欢,可以混合Java和Scala,因为二者最终都是编译成class文件,使用Scala能够随意调用Java实现的类和方法。
从表面上看,无论采用哪种语言,都能完成一样的功能,只是代码量有多有少,开发人员根据自己的情况选择使用Java还是Scala都可。
据说目前最新的Java 8已经支持函数式接口了,Java 9也将推出Java Shell功能,慢慢地会变得和Scala一样简洁
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)