立即注册 登录
About云-梭伦科技 返回首页

desehawk的个人空间 https://www.aboutyun.com/?29 [收藏] [复制] [分享] [RSS]

日志

spark 开发环境搭建

已有 884 次阅读2015-1-8 21:50

现在网上很多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
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  1. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  2. <modelVersion>4.0.0</modelVersion>  
  3.    
  4. <groupId>com.wankun.scala</groupId>  
  5. <artifactId>test3</artifactId>  
  6. <version>1.0</version>  
  7. <packaging>jar</packaging>  
  8.    
  9. <name>test3</name>  
  10. <url>http://maven.apache.org</url>  
  11.    
  12. <properties>  
  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  14. <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>  
  15. <org.scala-tools.version>2.3.2</org.scala-tools.version>  
  16. <scala.library.version>2.10.4</scala.library.version>  
  17. </properties>  
  18. <dependencies>  
  19. <dependency>  
  20. <groupId>org.scala-lang</groupId>  
  21. <artifactId>scala-library</artifactId>  
  22. <version>${scala.library.version}</version>  
  23. </dependency>  
  24. <dependency>  
  25. <groupId>junit</groupId>  
  26. <artifactId>junit</artifactId>  
  27. <version>4.10</version>  
  28. <scope>test</scope>  
  29. </dependency>  
  30. </dependencies>  
  31. <repositories>  
  32. <repository>  
  33. <id>scala-tools.org</id>  
  34. <name>Scala-tools Maven2 Repository</name>  
  35. <url>http://scala-tools.org/repo-releases</url>  
  36. </repository>  
  37. </repositories>  
  38. <pluginRepositories>  
  39. <pluginRepository>  
  40. <id>scala-tools.org</id>  
  41. <name>Scala-tools Maven2 Repository</name>  
  42. <url>http://scala-tools.org/repo-releases</url>  
  43. </pluginRepository>  
  44. </pluginRepositories>  
  45. <build>  
  46. <plugins>  
  47. <plugin>  
  48. <artifactId>maven-compiler-plugin</artifactId>  
  49. <version>${maven-compiler-plugin.version}</version>  
  50. <configuration>  
  51. <source>1.6</source>  
  52. <target>1.6</target>  
  53. <encoding>UTF-8</encoding>  
  54. </configuration>  
  55. </plugin>  
  56. <plugin>  
  57. <groupId>org.scala-tools</groupId>  
  58. <artifactId>maven-scala-plugin</artifactId>  
  59. <executions>  
  60. <execution>  
  61. <goals>  
  62. <goal>compile</goal>  
  63. <goal>testCompile</goal>  
  64. </goals>  
  65. </execution>  
  66. </executions>  
  67. <configuration>  
  68. <sourceDir>src/main/scala</sourceDir>  
  69. <jvmArgs>  
  70. <jvmArg>-Xms64m</jvmArg>  
  71. <jvmArg>-Xmx1024m</jvmArg>  
  72. </jvmArgs>  
  73. </configuration>  
  74. </plugin>  
  75. </plugins>  
  76. </build>  
  77. </project>  



pom主要修改的几个地方:

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

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

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


  1. <dependency>  
  2. <groupId>org.scala-lang</groupId>  
  3. <artifactId>scala-compiler</artifactId>  
  4. <version>${scala.version}</version>  
  5. </dependency>  
  6. <dependency>  
  7. <groupId>org.scala-lang</groupId>  
  8. <artifactId>scala-reflect</artifactId>  
  9. <version>${scala.version}</version>  
  10. </dependency>  
  11. <dependency>  
  12. <groupId>org.scala-lang</groupId>  
  13. <artifactId>jline</artifactId>  
  14. <version>${scala.version}</version>  
  15. </dependency>  
  16. <dependency>  
  17. <groupId>org.scala-lang</groupId>  
  18. <artifactId>scala-library</artifactId>  
  19. <version>${scala.version}</version>  
  20. </dependency>  
  21. <dependency>  
  22. <groupId>org.scala-lang</groupId>  
  23. <artifactId>scala-actors</artifactId>  
  24. <version>${scala.version}</version>  
  25. </dependency>  
  26. <dependency>  
  27. <groupId>org.scala-lang</groupId>  
  28. <artifactId>scalap</artifactId>  
  29. <version>${scala.version}</version>  
  30. </dependency>  

 

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

 

Spark Maven 工程

 

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

  1. <repository>  
  2. <id>cloudera</id>  
  3. <url>https://repository.cloudera.com/cloudera/cloudera-repos</url>  
  4. </repository>  

 
  1. <dependency>  
  2. <groupId>org.apache.spark</groupId>  
  3. <artifactId>spark-core_2.10</artifactId>  
  4. <version>${spark.version}</version>  
  5. </dependency>  

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


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条