高效的大資料開發環境搭建及實戰
內容大綱:
一、開發環境準備
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
一、開發環境準備
IDE開發工具選擇及安裝
主流的IDE開發環境有Scala-IDE(Eclipse)及IntelliJ IDEA兩種,開發者可以根據自己的喜好選擇。本演示所有的實驗是基於IntelliJ IDEA完成。
兩種工具下載地址分別如下:
·Scala-IDE (目前最新版4.4.1,Eclipse Luna 4.4.2)
·
選擇、下載並安裝JDK
JDK可以選擇1.7和1.8。由於Oracle官方已經停止了1.7版本的更新,建議使用JDK1.8版本。
JDK1.7 下載地址:
JDK1.8下載地址:
下載適合開發環境系統的版本。如本例中使用的是Mac OS X系統,所以下載Mac OS版本。
接下來安裝JDK
配置Java執行環境變量
驗證jdk安裝成功
Spark開發語言Scala 的選擇及安裝
本演示中使用的是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
最新版本下載地址:
無需安裝,解壓即可。
安裝SBT
最新版本下載地址:
無需安裝,解壓即可。
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檔案修改
新增後,工程會自動增加一個pom.xml檔案,如下:
1.修改工程pom檔案,並更新依賴包
接下來,我們需要對pom檔案進行修改,比如,增加repository,定義依賴等。
1)Haven Plugin
<plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.3</version><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins>
因為本次演示的實驗主要是在CDH發行版上進行,所以選擇1.6.0-cdh5.7.0的依賴。
2)Dependencies
<dependencies><!-- spark core --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.10</artifactId><version>1.6.0-cdh5.7.0</version><scope