admin 管理员组

文章数量: 887021


2024年2月20日发(作者:手机乱码怎么转换成文字)

高效的大数据开发环境搭建及实战

演示

内容大纲:

一、开发环境准备

1. IDE开发工具选择及安装

2. Java SDK版本选择及安装

3. Spark开发语言 版本选择及安装

4. 下载Spark的安装程序

5. 安装Maven

6. 安装sbt

7. IDE的插件选择、安装及配置

二、从零开始创建第一个Spark程序 - HelloSpark

1. 创建Scala工程

2. 添加Spark依赖的jar包

3. 修改工程pom文件,并更新依赖包

4. 编写Spark程序代码

5. 在IDE中编译并本地测试HelloSpark程序

6. 编译jar包,并部署到Spark集群运行

三、从github获取工程,并快速搭建Spark开发环境

1. 从github中clone工程

2. 修改代码,编译测试及打包

3. 部署到Spark集群

四、使用IDE及Github实现版本控制

1. 建立github账号

2. 下载github并安装

3. intellij idea配置github

4. intellij idea检出github项目

5. 修改代码,编译及测试代码

6. 上传项目到GitHub

TABLE OF

CONTENTS

高效的大数据开发环境搭建及实战 ............................................................................................ 1

内容大纲: ......................................................................................................................................... 1

一、开发环境准备 ............................................................................................................................. 1

IDE开发工具选择及安装 .............................................................................................................. 1

选择、下载并安装JDK ................................................................................................................. 1

Spark开发语言Scala

的选择及安装 ............................................................................................ 1

下载Spark的安装程序 .................................................................................................................. 1

安装Maven ..................................................................................................................................... 1

安装SBT .......................................................................................................................................... 1

IDE的插件选择、安装及配置 ...................................................................................................... 1

二、从零开始创建第一个SPARK程序

HELLOSPARK ....................................................................... 1

创建Scala工程 ............................................................................................................................... 1

添加Maven框架支持 .................................................................................................................... 1

pom文件修改 ................................................................................................................................. 1

更新依赖 ......................................................................................................................................... 1

添加Spark依赖的jar包 ................................................................................................................ 1

创建Spark程序源代码目录 .......................................................................................................... 1

编写Spark程序代码 ...................................................................................................................... 1

在IDE中编译并本地测试HelloSpark程序................................................................................... 1

编译jar包,并部署到Spark集群运行 ........................................................................................ 1

三、从GITHUB获取工程,并快速搭建SPARK开发环境 ................................................................. 1

从GitHub中clone工程 ................................................................................................................. 1

四、使用IDE及GITHUB实现版本控制 ............................................................................................. 1

建立github账号 ............................................................................................................................. 1

安装GitHub ..................................................................................................................................... 1

IntelliJ IDE配置Git .......................................................................................................................... 1

IntelliJ

检出GitHub项目 ................................................................................................................. 1

修改代码,编译及测试代码 ......................................................................................................... 1

上传项目到GitHub ......................................................................................................................... 1

提交代码修改到GitHub ................................................................................................................. 1

一、开发环境准备

IDE开发工具选择及安装

主流的IDE开发环境有Scala-IDE(Eclipse)及IntelliJ IDEA两种,开发者可以根据自己的喜好选择。本演示所有的实验是基于IntelliJ IDEA完成。

两种工具下载地址分别如下:

• Scala-IDE (目前最新版4.4.1,Eclipse Luna 4.4.2)

/download/ 下载适合自己系统的版本

• IntelliJ IDE (目前最新版2016.1)

/idea/download/ 有社区版和收费版两种。对于本演示来说,社区版足够

选择、下载并安装JDK

JDK可以选择1.7和1.8。由于Oracle官方已经停止了1.7版本的更新,建议使用JDK1.8版本。

JDK1.7 下载地址:

/technetwork/java/javase/downloads/

JDK1.8下载地址:

/technetwork/java/javase/downloads/

下载适合开发环境系统的版本。如本例中使用的是Mac OS X系统,所以下载Mac OS版本。

接下来安装JDK

配置Java运行环境变量

验证jdk安装成功

SPARK开发语言SCALA

的选择及安装

下载地址 /download/ (目前最新版本是2.11.8)

本演示中使用的是2.10.6版本 (原因是Spark1.6版本使用的是scala2.10版本进行编译的,如果使用scala2.11版本,开发者需要自己基于scala2.11版本编译spark1.6的版本)。

验证scala-2.10.6安装包下载成功

拷贝安装包到制定的目录,并解压缩

验证解压完成后,并修改环境变量,添加scala到path

添加SCALA_HOME,并添加Path

启动scala,确认能够正常启动scala命令行环境

下载SPARK的安装程序

Apache Spark的下载地址:

/

下载安装程序,并解压缩

安装MAVEN

最新版本下载地址:

/maven/maven-3/3.3.9/

无需安装,解压即可。

安装SBT

最新版本下载地址:

/sbt/native-packages/sbt/0.13.9/

无需安装,解压即可。

1. 修改环境变量,配置MAVEN_HOME / SBT_HOME, 并加入path

source ~/.bash_profile

IDE的插件选择、安装及配置

启动IntelliJ IDE,点击“Configure”进入配置界面

在Search框中输入scala,在右边出现的插件中选择Scala的插件进行安装/更新。安装完成后,IDE要求重启。

重启IDE后,选择“创建新工程”,选择Scala类型,并出现如下图的工程类型,则环境安装成功。

二、从零开始创建第一个SPARK程序

HELLOSPARK

创建SCALA工程

“新建工程”

选择“Scala”类型

在工程名称中填入工程名称,如“HelloSpark”,并选择合适的工程路径,以及Java SDK及Scala SDK版本。这里,我选择了JDK最新版 1.8.0_92,SDK 2.10.6。然后点击完成。

然后进入IDE开发界面。

添加MAVEN框架支持

右键选择工程名“HelloSpark”,然后“添加框架支持”

选择添加“Maven”支持

POM文件修改

添加后,工程会自动增加一个文件,如下:

1. 修改工程pom文件,并更新依赖包

接下来,我们需要对pom文件进行修改,比如,增加repository,定义依赖等。

1) Haven Plugin

maven-compiler-plugin

3.3

1.7

1.7

因为本次演示的实验主要是在CDH发行版上进行,所以选择1.6.0-cdh5.7.0的依赖。

2) Dependencies

MLib-->

sql-->

-->

-->

-->

Repository

Releases

Repos

version

Scala-tools

/repo-releases

Maven2 Repository

4) 其它属性

UTF-8

UTF-8

修改完成后,右键选择文件,并选择“验证”,IDE将帮你完成xml文件的语法验证工作。

更新依赖

验证通过后,我们就可以选择更新依赖。所有pom文件中被标注为红色的部分都是即将需要更新的内容。

有两种方法更新依赖。

1) 在IDE右上角,有提示信息,可以直接选择”Import Changes”

2) 或者,右键选择pom文件,MavenReimport

IDE右下角会有进度,提示当前依赖更新的状态。通常,根据需要更新的内容多少,以及网络的速度,时间或长或短。

完成后,所有pom文件中被标注为红色的内容将变成正常颜色,而External Libraries 中也会增加很多jar包

添加SPARK依赖的JAR包

我们在第一部分环境准备的时候已经下载并解压了Spark的安装程序。现在我们需要把相应的jar包加入到工程的依赖中来。

选择工程,“文件”“工程结构”“Libraries”

找到Spark的解压目录下的lib目录,并选择

在弹出的窗口中选择确认

创建SPARK程序源代码目录

首先,我们希望Java代码及Scala代码分开,因此我们需要在src/main目录下创建一个Scala的文件夹。

选择src/main文件夹,右键,然后选“新建”-“文件夹”

创建后的结构如下

接下来,我们需要把该文件夹加入到工程的结构中。

“文件”“工程结构”

然后选择 “Modules”“Sources””Sources”,并展开目录结构,找到新创建的“Scala”目录,你将会在最右边看到“src/main/Scala”。

点击确认返回。

编写SPARK程序代码

在IDE中,选择新建的“Scala”目录,然后右键,选择“New”-“Scala Calss”

然后在弹出窗口中填入Scala Class的名称。本例中为HelloSpark,类型改为object,然后点击确定。

回到IDE编辑窗口,会得到一个新的Class,如下所示。

代码修改如下:

/**

*

*/

import

import

import

object

def

//

main(args: Array[String]) {

HelloSpark {

Created by suchangfeng on 6/2/16.

ontext

ontext._

._

initialise

conf

sc

= new

=

spark

new

context

SparkContext(conf)

val

val

//

SparkConf().setAppName("HelloSpark-app")

do stuff

world!")

println("Hello,

// terminate spark context

()

}

}

在IDE中编译并本地测试HELLOSPARK程序

在IDE中,选择“Run”“Edit Configurations”

然后在左边的树状结构中选择“Application”,然后点击左上角的“+”按钮,并在弹出窗口中选择“Application”。

添加“Application”后的窗口如下图所示,在“Name”、“Main Class”中分别填入“HelloSpark-app”、“HelloSpark”,并在“VM options”中指定Spark运行模式。在调试过程中,我们可以指定为local模式。

然后“确定”返回。

此时,IDE上方的“Run”按钮便成绿色。点击运行图标,测试我们的代码。

下方的通知栏会显示当前编译的状态。

下方的标准输出窗口将显示Spark运行的日志,并最终打印“Hello,Spark!”消息。

编译JAR包,并部署到SPARK集群运行

选择“File”“Project Structure”,在弹出窗口中选择“Artifats”,并选择“+”添加

在新窗口中,选择“JAR”“From modules with dependencies…”

在弹出窗口中,找到“HelloSpark”工程,并在Main Class中选择选择我们的“HelloSpark”Class。

同时,在输出目录中,选择jar文件的输出路径

最后选择“copy to the output and link via manifest”,避免把全部的依赖包都打到jar里面。

“确定”后得到如下界面 。

再在上右键,选择“Create Directory”,然后输入“lib”,“确定”返回。

在IDE编辑窗口,选择“Build”菜单,然后“Build Artifacts”

然后在弹出窗口选择“Build”

IntelliJ将开始编译,最下方状态条会显示当前编译状态。

编译完成后,工程结构中会自动增加一个“out”目录,并且可以在子文件夹中找到我们的文件。

上传该jar文件到Spark集群服务器。

并且在另一个窗口中,执行(本实验环境Spark部署为Standalone模式)

最后可以看到,Application成果执行。

三、从GITHUB获取工程,并快速搭建SPARK开发环境

假如我们需要快速的开发某个应用,或者需要编译一个版本(比如基于Scala 2.11版本编译Spark1.6版本),从GitHub上克隆工程,并在本地进行编译是最快捷的方法。

本例中,我们假设需要对Spark 的examples进行修改,方法如下:

/cloudera/spark

点击“Clone or Download”,拷贝https链接。

从GITHUB中CLONE工程

首先,在IDE中,选择“File”“New”“Project from Version Control”“Git”

在“Git Repository URL”中粘贴刚才拷贝的https地址,并输入工程代码保存的路径。

点击Test可以测试网络链接是否正常。

然后点击“Clone”下载工程代码。根据网络速度不同和工程大小,该过程时间会不同。

下载完成后,IntelliJ提示是否在新窗口或当前窗口打开。默认本窗口打开。

之后就可以看到科隆的工程,结构如下:

接下里,开发者就可以修改、编译自己的版本,并上传到服务器执行。这个过程跟第二部分一致,这里不再赘述。

四、使用IDE及GITHUB实现版本控制

如果我们是一个团队合作,我们需要一个版本控制系统来做版本控制。本示例演示了使用GitHub来做代码的版本控制。

建立GITHUB账号

首先,我们需要在GitHub上创建自己的帐号。下面是GitHub创建新帐号的链接(如果已有帐号,可以直接跳到下一步)

/join?source=header-home

创建完成后,使用帐号登录。

登录后的Dashboar界面

安装GITHUB

安装程序下载路径: / 根据系统版本自动检测。

INTELLIJ IDE配置GIT

在IntelliJ IDE中,“File””Other Settings””Default Settings”

在新窗口中选择“Version Control”“Git”

在右侧填写GitHub运行程序路径(安装完GitHub后自动检测),然后按Test进行测试。

INTELLIJ

检出GITHUB项目

例如,本示例中有一个工程叫做 sparkstudy的工程

在IntelliJ中,“CVS”-->”ChechOut from Version Control”-->”Git”

在repository路径中输入钢材拷贝的地址,并测试网络链接性。

克隆之后,开发者将得到该工程的一个副本。

修改代码,编译及测试代码

修改代码,比如,修改了pom文件的内容(添加了两行注释)

上传项目到GITHUB

在IntelliJ中,“CVS”-->”Import into Version Control”-->”Share Project on GitHub”

输入GitHub登录信息,用户名及密码。

第一次使用IntelliJ登录GitHub时,提示创建Master密码。

给定工程名称

回到GitHub中,我们看到,新的工程已经在Repository中

提交代码修改到GITHUB

对代码再次做修改,如下所示

右键项目名-->“Git”-->“Commit Directory..”

然后填写commit的消息。

并确认提交

回到GitHub 的Repository列表,可以看到commit的历史。


本文标签: 选择 工程 版本 编译 文件