spark 开发环境搭建

 转载请注明作者,知识分享,开心你我!

 

现在网上很多spark开发环境的搭建都是基于idea的,个人用习惯了eclipse,还是用eclipse来搭建开发环境把。准备工作,下载Scala IDE for Eclipse 版本:http://scala-ide.org/

Scala 工程版本

该方法和Java 工程类似。

  1. 新建scala工程
    1. 在工程中移除自带的scala版本库
    1. 添加spark 库spark-assembly-1.1.0-cdh5.2.0-hadoop2.5.0-cdh5.2.0.jar
    1. 修改工程中的scala编译版本

右击 --> Scala --> set the Scala Installation

也可以

右击工程--> Properties --> Scala Compiler --> Use project Setting 中选择spark对应的scala版本,此处选择Lastest2.10 bundle

  1. 编写scala代码
  1. export jar 包

 

Maven 工程版本

目前社区的项目基本都采用了Maven方式管理,所以Maven开发方式学习还是很有必要的。

要创建spark工程,我们先学习下maven创建scala工程吧!

 

Scala Maven 工程

 

  1. 创建maven工程,修改pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
 
com.wankun.scala
test3
1.0
jar
 
test3
http://maven.apache.org
 

UTF-8
3.1
2.3.2
2.10.4



org.scala-lang
scala-library
${scala.library.version}


junit
junit
4.10
test




scala-tools.org
Scala-tools Maven2 Repository
http://scala-tools.org/repo-releases




scala-tools.org
Scala-tools Maven2 Repository
http://scala-tools.org/repo-releases





maven-compiler-plugin
${maven-compiler-plugin.version}

1.6
1.6
UTF-8



org.scala-tools
maven-scala-plugin



compile
testCompile




src/main/scala

-Xms64m
-Xmx1024m








pom主要修改的几个地方:

  • 添加scala-tools插件仓库
  • 添加maven-scala-plugin插件
  • 添加scala-tools仓库
  • 添加scala-library库

其他的maven插件可以在需要的时候再添加。

必要的时候可以再增加引入scala的一些其他类库



org.scala-lang
scala-compiler
${scala.version}


org.scala-lang
scala-reflect
${scala.version}


org.scala-lang
jline
${scala.version}


org.scala-lang
scala-library
${scala.version}


org.scala-lang
scala-actors
${scala.version}


org.scala-lang
scalap
${scala.version}

 
  1. 添加src/main/scala源码目录,并开发scala程序

 

Spark Maven 工程

 

  1. 创建scala maven工程,加入spark依赖包。因为一直使用的cloudera公司发布版本,这里导入cloudera的包。


cloudera
https://repository.cloudera.com/cloudera/cloudera-repos

 

org.apache.spark
spark-core_2.10
${spark.version}

注意:测试时发现 scala.math.random 无法正常引入,因为我写入了自己packagecom.wankun,这样导致在import时,提示无法importcom.wankun.scala.math,应该是scala中的包机制和Java中的包机制不同导致的把。

你可能感兴趣的:(spark)