---------------------
前言
---------------------
項目關係,但願用Spark GraphX作數據分析及圖像展現,但前提是得回spark;spark是基於scala的,scala是基於JAVA的……因此,要想用Spark GraphX,技術堆棧大致上應該是這樣的:Java -> Scala -> Spark -> Spark GraphX。
JAVA都這麼多年了……就不說了,咱們從學習Scala開始。
--------------------
前提
--------------------
1)Java配置完成,版本在1.8以上;
由於Scala是基於Java開發的,編譯以後生成的class文件也能夠遠行在JVM上,並被Java調用。
2)IntelliJ IDEA已安裝完成(個人版本是:2017.2.2)。
--------------------
安裝Scala
--------------------
1. 安裝Scala插件
依次:IntelliJ IDEA -> Preferences -> Plugins -> Browse repositories...
1)在搜索框輸入scala
2)在列表中選擇Scala
3)點擊右側框的「Install」按鈕(下圖是安裝完成以後的樣子)
2. 安裝Scala SDK
而我用的是另外一個方法(有點兒笨,有點兒捉急了……):
1)在沒有安裝SDK的狀況下,直接先建立了一個Scala項目(建立項目的步驟下面有說明),
2)打開Hello.scala文件的時候,IDEA會在編輯器的右上角提示:Setup Scala SDK
點擊連接,在彈出框中,根據提示:
-> download SDK(等待時間比較久……)
-> 選擇版本(個人是2.12.4)
-> STB最後自動更新一些jar包(又是一段時間的等待……)
在安裝過程當中,右下角的EventLog欄裏會有STB的提示,建議選擇「Auto-Import」。
--------------------
建立項目、運行 — 經典的HelloWorld
--------------------
1. 建立項目
1)Create New Project(或:File -> New -> Project);
2)在左側框選擇「Scala」 -> 在右側框再次選擇「Scala」,沒有Scala則選擇SBT,點擊下一步;
3)在Name裏輸入:HelloWorld
在Location裏選擇本身想要存工程的路徑,點擊finish
建立出來的Scala項目的路徑結構大概是這個樣子的:
目錄scala是咱們下代碼的地方
目錄test是些單元測試的代碼的地方(後面會有詳細說明)
貌似還應該有個跟scala並列的java目錄,可是在個人項目裏沒有……
2. 寫代碼
在工程目錄src/main/scala上,右鍵單擊,選擇:New -> Scala Script
(我第一次建立文件的時候並無安裝Scala SDK,因此沒有這個文件類型,只好選擇File……)
輸入文件名:Hello.scala
輸入代碼:
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, world!")
}
}
3. 運行配置
在Edit Configurations...裏添加一項SBT:
在SBT Task下新增一項,輸入:
Name:run scala helloworld
Tasks: ~run ('~'符號,用來觸發SBT編譯並運行項目)
保存退出。
點擊「運行」按鈕,在控制檯輸入運行結果:
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/project
[info] Loading settings from build.sbt ...
[info] Set current project to hellowold (in build file:/Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/)
[info] Updating ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/target/scala-2.12/classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.4. Compiling...
[info] Compilation completed in 12.446s.
[info] Done compiling.
[info] Packaging /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/target/scala-2.12/hellowold_2.12-0.1.jar ...
[info] Done packaging.
[info] Running HelloWorld
Hello, world!
[success] Total time: 22 s, completed 2018-2-6 18:55:20
--------------------
遺留問題
--------------------
在build.sbt裏的全部關鍵字都是紅的,提示:Cannot resolve symbol
雖然不影響運行,可是這樣就不能在這裏添加依賴了。好比,單元測試的依賴:
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
--------------------
參考
--------------------
1)在線教程:
2)scala intellij idea 環境搭建及編譯:
3)GETTING STARTED WITH SCALA IN INTELLIJ
4)Installing, Updating and Uninstalling Repository Plugins
5)TESTING SCALA IN INTELLIJ WITH SCALATEST