1. 程式人生 > >Intellij搭建spark開發環境

Intellij搭建spark開發環境

spark怎麼學習呢?在一無所知的前提下,首先去官網快速瞭解一下spark是幹什麼的,官網在此。然後,安裝開發環境,從wordcount開始學習。第三,上手以後可以學習其他演算法了。最後,不要放棄,繼續深入學習。

那麼,首先解決的就是如何搭建開發環境的問題。

1、確保你的電腦安裝了JDK,以及配置了JAVA_HOME環境變數。

2、安裝Intellij IDEA,下載地址。目前15.0版本對Scala的支援性就很好。

3、安裝scala外掛。在首次使用Intellij的時候會出現安裝外掛的提示,如果錯過了也沒有關係,在setting裡,找到Plugins,輸入scala,安裝即可。
安裝scala外掛

4、搭建spark開發環境。

4.1 下載spark的jar包,下載地址。例如我要下載1.5.0版本的spark,hadoop是2.4版本,選項如圖:
下載spark的jar包

4.2 解壓下載的包,我們需要用的是lib下的spark-assembly-1.5.0-hadoop2.4.0.jar這個包。

4.3 新建scala專案,File -> New Project -> scala -> next填寫name和SDK -> finish。

4.4 在專案頁“File” -> “project structure” -> “Libraries”, 點“+”,選java,找到spark-assembly-1.5.0-hadoop2.4.0.jar匯入,這樣就可以編寫spark的scala程式了。

4.5 很多時候我們都需要用到maven或者SBT管理依賴,這裡我用的是maven。Intellij15.0對maven也很有好,只需要簡單配置一下maven倉庫地址即可。
Intellij配置maven

5、開心的coding吧!
插入程式碼

package main.scala

import org.apache.spark.{SparkConf, SparkContext}

object SimpleApp {
  def main(args: Array[String]) {
    val logFile = "D:/IdeaProjects/spark-test/README.md" // Should be some file on your system
val conf = new SparkConf().setAppName("Simple Application").setMaster("local") val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.filter(line => line.contains("a")).count() val numBs = logData.filter(line => line.contains("b")).count() println("Lines with a: %s, Lines with b: %s".format(numAs, numBs)) } }

6、打包匯出到叢集執行。

6.1 如果pom.xml檔案中存在hadoop或者spark的依賴,請在打包之前註釋掉。因為叢集已經有包了,註釋掉既能減少包的大小,又能避免某些jar版本衝突。

6.2 Intellij中點選“File - Project Struction - Artifacts - + - Jar - From modules with dependencies…”,填寫modules、Main Class以及路徑等,點選OK生成jar包。

6.3 Intellij中點選“Build- Build artifacts… ”,選擇剛生成的jar包進行build。

6.4 將打包好的jar包上傳到伺服器某路徑下。

6.5 執行提交命令:

spark-submit WhereIsYourJar 其他引數