intelliJ IDEA進行spark配置和開發

前言:一直在使用python做數據處理,閱讀spark官方文檔時到後半部分的MLlib機器學習部分有些機器學習方法竟然沒有python,很是遺憾,遂着手準備學學scale,畢竟原生語言,開發起來應該是絲絲入扣,順滑平坦。
1.下載intelliJ IDEA
下載傳送門
建議下載找個註冊碼安裝Ultimate版本。
(在安裝時不要一直點,看清楚意思再進行選擇,儘量多的把能裝上的語言都裝上,這樣會少不少麻煩。)

如果錯過安裝時候還是錯了安裝scale插件,那麼按如下步奏走:
進入idea主界面

在線安裝:
選擇Plugins :
這裏寫圖片描述
輸入scala:
這裏寫圖片描述
選擇右側的安裝即可

2.安裝好之後
file->new->project->選擇scale
這裏寫圖片描述

這裏寫圖片描述

3.新建scale項目完成後,按如下目錄進行配置
打開項目,目錄如下:
這裏寫圖片描述
找到build.sbt添加如下配置:
libraryDependencies += “org.apache.spark” %% “spark-core” % “2.0.0”
配置完成如下:
這裏寫圖片描述

在src->scala->文件夾下創建new scaleClass
這裏寫圖片描述

代碼入下:

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf



object Test {
//  def main(args: Array[String]): Unit = {
//    println("hello world")
//  }

  def main(args: Array[String]) {
    val logFile = "/home/zhuan/Soft/spark-2.0.0-bin-hadoop2.7/README.md" // Should be some file on your system
    val conf = new SparkConf().setAppName("Simple Application").setMaster("spark://zhuan-OptiPlex-9020:7077").setJars(List("/home/zhuan/IdeaProjects/hello/out/artifacts/hello_jar/hello.jar"))
    val sc = new SparkContext(conf)
    val logData = sc.textFile(logFile, 2).cache()
    println(logData.collect())
    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))

////    val data = Array(1, 2, 3, 4, 5)
////    val distData = sc.parallelize(data)
////    println(distData.take(1))
////    println(distData)
//    val lines = sc.textFile("/home/zhuan/Soft/spark-2.0.0-bin-hadoop2.7/README.md")
//    val lineLengths = lines.map(s => s.length)
//    val totalLength = lineLengths.reduce((a, b) => a + b)
//    println(totalLength)



  }

}

以上代碼在打包jar之後可直接運行,相比官網spaekConf需要多設置master 和setJars路徑。(根據讀者自己的電腦情況需要更該setMaster和setJars)

4.打包jar
file ->project Struceture

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

打好jar ,直接點擊綠色運行就能直接運行了,每次修改代碼都要重複打jar包這個過程,不知道是否有更好的方法。歡迎各位專家指正。

關於導包的問題:
我推薦使用sbt文件安裝依賴,
格式如下:

#導入機器學習包依賴
libraryDependencies += "org.apache.spark" %%  "spark-mllib"  %  "2.0.0"

#導入spark核心包依賴
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.0"

名稱可能不清楚的可以進入maven官網搜索查看

maven官網傳送門

 def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("Simple Application").setMaster("spark://zhuan-OptiPlex-9020:7077").setJars(List("/home/zhuan/IdeaProjects/hello/out/artifacts/hello_jar/hello.jar"))
    val sc = new SparkContext(conf)

    val spark = SparkSession
      .builder()
      .appName("Spark SQL basic example")
      .config("spark.some.config.option", "some-value")
      .getOrCreate()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章