前言
興趣而言,需要學習大數據方面的(Spark),而裏面的一些Api使用Scala比較簡潔明瞭。
所以便想在本機Idea上面多安裝一個Scala環境
軟件下載
- 下載Scala插件
這一步操作比較簡單,如圖
進行安裝就行 - 下載sbt軟件
sbt是類似Maven一樣的軟件,不過是給Scala使用的,所以我們爲了管理軟件包方便,也一起下載它。
點擊sbt 官網下載地址,進行下載並安裝就可以
配置
- 阿里雲倉庫配置
類似Maven需要配置參考。sbt這也需要配置。
爲了方便,我們使用阿里雲的倉庫配置。
在sbt\conf裏面新建一個repository.properties文件,進行下面的配置
[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public
jcenter: http://jcenter.bintray.com
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
在sbtconfig.txt添加配置,這一步配置是關聯properties文件,並且設置jar包的存儲目錄
# Set the java args to high
-Xmx1512M
-XX:MaxPermSize=1056m
-XX:ReservedCodeCacheSize=1128m
# Set the extra SBT options
-Dsbt.log.format=true
-Dsbt.repository.config=D:/soft/sbt/conf/repository.properties
-Dsbt.log.format=true
-Dsbt.boot.directory=D:/soft/sbt/.sbt/boot
-Dsbt.ivy.home=D:/soft/sbt/.ivy2
-Dsbt.global.base=D:/soft/sbt/.sbt
- idea相關設置(sbt)
vm parameters(這個作用和上面差不多,上面我們已經寫在properties裏面了,所以這裏可以覆蓋它,應該可以忽略)
-Xmx1512M
-XX:MaxPermSize=1256m
-XX:ReservedCodeCacheSize=1128m
-Dsbt.log.format=true
-Dsbt.ivy.home=D:/soft/sbt/.ivy2
-Dsbt.global.base=D:/soft/sbt/.sbt
-Dsbt.repository.config=D:/soft/sbt/conf/repository.properties
創建Scala的HelloWorld項目
完成了sbt的一些配置,我們就可以準備新建一個Scala項目了。
上面的截圖操作就可以完成Scala項目的創建,然後我們創建一個Scala的class,搞一個Hello來跑跑
可以在IDEA上操作
這樣就可以跑跑scala的hello world了。
PS:如果這一步出問題,那麼嘗試下面的操作
選擇File->Project Structure->Scala,然後選Change,就會看到下面的對話框,選擇Scala版本或者直接下載Scala版本
加入Spak依賴配置
上面我們使用sbt就是方便我們jar包的管理,下面我們使用sbt加入spark依賴。
我們先加Spark core這個jar包,那麼,我們需要到Maven中心倉庫,進行查找
發現這個Spark Core版本很多,那麼,我們需要怎麼選擇了。
注意,Scala的版本和Spark Core版本需要對應,不然到時候就編譯失敗!!!(這個問題是個坑)
所以,我們一定要參考我們使用的Scala版本
這裏我使用的Scala是2.12.7的,所以我們選擇對應的版本
然後在項目裏面build.sbt進行配置
name := "Ts"
version := "0.1"
scalaVersion := "2.12.7"
// https://mvnrepository.com/artifact/org.apache.spark/spark-core
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.0"
這樣就可以啦。
如果Scala沒有引入你需要的包,嘗試點擊這裏,讓sbt進行下載
最後
配置起來還是很麻煩的,不過也就那樣。
我自己嘗試的時候也搜索了一些文檔遇到了一些問題,比如
scala版本不一致呀等等。
所以需要寫了這個教程,能對需要的人有點幫助。
嗯,可以愉快的擼Scala啦,O(∩_∩)O哈哈~