天天看點

Intellij idea下spark開發HelloWorld

開發環境

Intellij idea 14

jdk: 1.7.71

spark: 1.1.0

hadoop: 2.4.0

scala: 2.11.1

maven: 3.2.5

建立maven工程

在src目錄下建立main/java的source檔案(在File –> Project Structure…–>Modules–>Sources右鍵添加目錄和修改目錄為source類型)

Intellij idea下spark開發HelloWorld

在File –> Project Structure…–>Libraries添加spark-assembly-1.1.0-hadoop2.4.0的依賴包

Intellij idea下spark開發HelloWorld

3. java目錄下編寫Wordcount例子程式

打包成jar包

在File –> Project Structure…–>Artifacts點選綠色“+”,Add–>JAR–>From Modules with Dependencies

Intellij idea下spark開發HelloWorld

輸入main class入口函數名,将Output Layout下所有jar包删掉(因為spark運作環境已經包含了這些包),然後Apply

Intellij idea下spark開發HelloWorld

編譯程式:Build–>Build Artifacts…,然後選擇要編譯的項目進行編譯

Intellij idea下spark開發HelloWorld

在目前工程生成的out目錄下就可以找到輸出的jar包

運作程式

将jar包上傳至spark叢集,然後使用spark-submit進行送出運作(spark-submit具體參數自行檢視)

送出指令:spark-submit –class JavaWordCount ~/JavaWordCount.jar /apps/ca/yanh/data/README.md

Intellij idea下spark開發HelloWorld
Intellij idea下spark開發HelloWorld

這是由于缺少本地庫依賴和壓縮包引起。

spark-submit指令: spark-submit –driver-library-path :/usr/lib/hadoop/lib/native/ –jars /usr/lib/hadoop/lib/hadoop-lzo-0.6.0.jar –class JavaWordCount ~/JavaWordCount.jar /apps/ca/yanh/data/README.md