码迷,mamicode.com
首页 > Windows程序 > 详细

基于IDEA使用Spark API开发Spark程序

时间:2015-04-17 22:28:45      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:基于idea使用spark api开发spark程序

清明假期折腾了两天,总结了两种方式使用IDE进行spark程序,记录一下:

第一种方法比较简单,两种方式都是采用SBT进行编译的。

注意:本地不需要安装Scala程序,否则在编译程序时有版本兼容性问题。


一、基于Non-SBT方式


创建一个Scala IDEA工程

技术分享

我们使用Non-SBT的方式,点击“Next”

技术分享

命名工程,其他按照默认

技术分享

点击“Finish”完成工程的创建

技术分享

修改项目的属性

技术分享

首先修改Modules选项

技术分享

在src下创建两个文件夹,并把其属性改为source

技术分享

下面修改Libraries

技术分享

将Spark开发需要的jar包导进来

技术分享

加入后:

技术分享

导入包完成后,在工程的scala下面创建一个package

技术分享

创建一个Object对象

技术分享

构建Spark Driver代码

技术分享

该程序是对搜狗日志的处理代码

接下来进行打包,使用Project Structure的Artifacts

技术分享

使用From modules with dependencies

技术分享

技术分享

选择Main Class

技术分享

技术分享

点击“OK”

技术分享

把名称改为FirstSparkAppJar

技术分享

因为每台机器上都安装了Scala和Spark,所以可以把Scala和Spark相关的jar文件都删掉

技术分享

接下来进行Build

技术分享

选择“Build Artifacts”

技术分享

第一次选择Build,以后同一个工程要选择Rebuild,然后等待编译完成

技术分享

下面使用spark-submit运行程序

技术分享

最后任务运行完成

技术分享



二、基于SBT方式


开发工具下载


Spark开发需要以下开发编译工具:

1、Scala IDE:本文以IntelliJ IDEA为例进行开发,下载地址:

https://www.jetbrains.com/idea/download/

2、SBT(Simple Build Tool)编译工具下载:

http://www.scala-sbt.org/download.html

下载安装后,在DOS下执行sbt命令下载其所需要的jar包:

技术分享

默认jar包(.idea-build、.ivy2、.sbt)下载到C盘用户目录下

(注意:使用命令sbt进行下载时要确保网速,最好使用代理下载)


开发工具配置


1、IntelliJ IDEA开发配置:

(1) 下载Scala插件:选择Configure下的Plugins进入下图

技术分享选择Install JetBrains plugin,搜索Scala进行下载。

(2) 创建基于SBT的Scala工程:

技术分享

(3) 设置工程名称以及Scala和SBT版本:

技术分享注意:

  1. 最好将Download两个选项取消,否则会覆盖之前用户目录下的SBTjar包,造成编译不通过等错误

  2. SBT和Scala的版本号在C盘用户目录下可以看出:

    C:\Users\用户\.sbt\boot\scala-2.10.4\org.scala-sbt\sbt\0.13.8

    这里可以一次性设置正确,也可以后续修改配置文件(build.sbt修改scala版本,build.properties修改sbt版本)进行修改同步。

  3. 工程路径不要使用中文,否则即使编译成功打成jar包也无法执行。


(4) 基于SBT的Scala程序对工程的结构要求比较苛刻,需要建立如下目录结构:

技术分享

(5) 添加Spark插件:

技术分享注意:同时该插件需要添加到lib目录下(操作系统复制即可)


准备工作完成,下面进行Spark程序开发


编写代码

下面以类wordcount程序为例:

编写Spark程序:

技术分享

请不要使用InteiiJ IDEA进行编译(汉字导致后面编译不过去)


编译和执行

(1)使用SBT进行编译和打包:

DOS下进入工程目录下,使用sbt命令进行编译和打包:

技术分享

技术分享

默认打的jar在工程目录test\target\scala-2.10下

(2)将jar包上传到服务器执行:

使用命令:

spark-submit --class test--master yarn test_2.10-0.1-SNAPSHOT.jar 100

更多的参数详见官方文档

技术分享

基于IDEA使用Spark API开发Spark程序

标签:基于idea使用spark api开发spark程序

原文地址:http://snglw.blog.51cto.com/5832405/1634595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!