首先是安裝scala插件,能夠經過idea內置的自動安裝方式進行,也能夠手動下載可用的插件包以後再經過idea導入。apache
scala插件安裝完成以後,新建scala項目,右側使用默認的sbt緩存
點擊Next,到這一步就開始踩坑了,scala的可選版本比較多,從2.12到2.10都有,個人環境下用wordcount的例子嘗試了幾種狀況:ide
先貼上測試代碼,如下的測試全都是基於這段代碼進行的。oop
package com.hq import org.apache.spark.SparkConf import org.apache.spark.SparkContext object WordCount { def main(args: Array[String]) { if (args.length < 1) { System.err.println("Usage: <file>") System.exit(1) } val conf = new SparkConf() val sc = new SparkContext("local","wordcount",conf) val line = sc.textFile(args(0)) line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println) sc.stop() } }
1. scala若是用2.12.4的版本,運行時就會報錯。可能跟我寫的代碼有關,scala 2.12.x使用spark的方式可能不同,後面再看。不過官網上有說spark-2.2.1只能與scala-2.11.x兼容,因此這個就沒有再試了測試
2. scala若是使用2.11.x的版本,我這邊最初按照網上的各類教程,一直在嘗試使用spark-assembly-1.6.3-hadoop2.6.0.jar,結果也是報錯。idea
而後想着試一下最新的spark-2.2.1-bin-hadoop2.7,可是裏面沒有spark-assembly-1.6.3-hadoop2.6.0.jar,就索性把jars目錄整個加到工程中,運行也是出錯,但明顯是能運行了。spa
百度之,加上一句設置就能夠了插件
conf.set("spark.testing.memory", "2147480000")
3. scala若是使用2.10.x,根據網上的各類教程,我使用的是2.10.6,只須要在工程中加入spark-assembly-1.6.3-hadoop2.6.0.jar這個包便可,固然,還有內存大小的配置。scala
另外,在使用2.10.6的時候,idea在下載scala-library, scala-compiler, scala-reflect各類包時都出錯,只能手動下載,再放到緩存目錄下: "C:\Users\Administrator\.ivy2\cache\org.scala-lang"。code
順便收藏一個網址,也許之後還要用: http://mvnrepository.com/artifact/org.scala-lang/scala-library
待處理的問題:
1. 運行時內存大小的設置,應該能夠經過修改idea的配置項來作到,就不用在代碼裏面加這個
2. idea的緩存目錄還須要修改,否則用的時間長了,C盤要崩...
3. 雖然wordcount運行成功了,可是會有warning...