【scala程式設計】學習大資料的第一步-搭建Scala開發環境,以及使用Intellij IDEA開發Scala程式
1、為什麼要學習Scala語言?
結合Spark處理大資料
這是Scala的一個主要應用,而且Spark也是那Scala寫的。Java的指令碼語言版
可以直接寫Scala的指令碼,也可以在.sh直接使用Scala。代替Java
Scala的程式設計風格更簡潔,當然也很可能降低可讀性,不過Java語言還是有其優勢。
2、Scala簡介
Scala有幾項關鍵特性表明了它的面向物件的本質。例如,Scala中的每個值都是一個物件,包括基本資料型別(即布林值、數字等)在內,連函式也是物件。另外,類可以被子類化,而且Scala還提供了基於mixin的組合(mixin-based composition)。
與只支援單繼承的語言相比,Scala具有更廣泛意義上的類重用。Scala允許定義新類的時候重用“一個類中新增的成員定義(即相較於其父類的差異之處)”。Scala稱之為mixin類組合。
Scala還包含了若干函式式語言的關鍵概念,包括高階函式(Higher-Order Function)、區域性套用(Currying)、巢狀函式(Nested Function)、序列解讀(Sequence Comprehensions)等等。
Scala是靜態型別的,這就允許它提供泛型類、內部類、甚至多型方法(Polymorphic Method)。另外值得一提的是,Scala被特意設計成能夠與Java和.NET互操作。Scala當前版本還不能在.NET上執行(雖然上一版可以-_-b),但按照計劃將來可以在.NET上執行。
Scala可以與Java互操作。它用scalac這個編譯器把原始檔編譯成Java的class檔案(即在JVM上執行的位元組碼)。你可以從Scala中呼叫所有的Java類庫,也同樣可以從Java應用程式中呼叫Scala的程式碼。用David Rupp的話來說,
它也可以訪問現存的數之不盡的Java類庫,這讓(潛在地)遷移到Scala更加容易。這讓Scala得以使用為Java編寫的巨量的Java類庫和框架。
3、Scala在Windows系統上的安裝及環境配置
Scala 語言是可以執行在Window、Linux、Unix、 Mac OS X等系統上,並且Scala是基於java之上,大量使用java的類庫和變數,因此在使用Scala之前必須先安裝 Java(>1.5版本),這篇文章只講基於Windows系統安裝Scala及環境配置。
由於這篇文章是在Windows系統中搭建開發環境的,因此需要你瞭解一些Windows環境變數的知識,方便你理解下面內容;Windows環境變數的知識請檢視這篇文章:
1)安裝Java
下載JDK
進入下載頁面後,請根據你的系統自行下載32位或64位的版本,下載之前請先勾選“ Accept License Agreement ”。下載完成後直接點選你下載下來的檔案安裝,大家最好安裝預設的安裝步驟來,每一步都直接點選下一步,直到安裝完成。
配置環境變數
找到你桌面上的“計算機”圖示,點選右鍵,選擇最下面的“屬性”,進入系統頁面,依次選擇”高階系統設定“——-》”高階“——-》”環境變數“。
進入到這裡後,我們主要在系統變數這裡設定三個屬性,分別為 JAVA_HOME、PATH、CLASSPATH,這個三個變數名的大小寫都是正確的,當然瞭如果某個屬性已經存在則點選”編輯“,不存在則點選”新建“。
現在開始設定第一個屬性”JAVA_HOME“,這個屬性在沒有配置過JDK時,一般都是沒有的:
- 變數名:JAVA_HOME 或者 java_home
- 變數值:C:\Program Files\Java\jdk1.8.0_91 (請選擇你之前安裝JDK的路徑,這個路徑是我電腦的)
然後是第二個屬性“PATH”,這個屬性一般肯定都是有的:
- 變數名:PATH
- 變數值:C:\Program Files\Java\jdk1.8.0_91\bin;C:\Program Files\Java\jre1.8.0_91\bin (請選擇你之前安裝JDK的路徑,這個路徑是我電腦的)
然後是第三個屬性“CLASSPATH”,這個屬性一般都是有的:
- 變數名:CLASSPATH
- 變數值:C:\Program Files\Java\jdk1.8.0_91\lib\dt.jar;C:\Program Files\Java\jdk1.8.0_91\lib\tools.jar (請選擇你之前安裝JDK的路徑,這個路徑是我電腦的)
測試Java環境
這三步做完後,Java環境就算是配置完了,但是配置完了並不代表JDK就能用,我們還需要測試下:
點選系統的“開始按鈕”,在開始選單中的搜尋框輸入 “cmd”,按“回車鍵”,就會出現我們Windows系統的命令工具;
這個命令列工具中分別輸入以下三個命令:java -version 、java 、 javac,如果出現下圖的資訊就說明Java環境配置成功了。
3)安裝Scala
下載Scala
首先點選這個連結: http://www.scala-lang.org/download/all.html,進入Scala官網的下載頁面,這裡需要注意的是,在選擇Scala版本是要選擇Scala 2.11.0,因為最新的版本在IDEA中執行不起來,會報下面的錯誤:
下載完成後直接點選你下載下來的檔案安裝,大家最好安裝預設的安裝步驟來,每一步都直接點選下一步,直到安裝完成。
配置環境變數
下載完成後還是需要配置Scala環境變數,同樣需要先進入到“系統屬性”中:
進入到這裡後,我們主要在系統變數這裡設定兩個屬性,分別為 SCALA_HOME、PATH,這個三個變數名的大小寫都是正確的,當然瞭如果某個屬性已經存在則點選”編輯“,不存在則點選”新建“。
現在開始設定第一個屬性”SCALA_HOME“:
- 變數名:SCALA_HOME 或者 scala_home
- 變數值:C:\Program Files (x86)\scala (請選擇你之前安裝Scala的路徑,這個路徑是我電腦的)
然後是第二個屬性“PATH“:
- 變數名:PATH
- 變數值:C:\Program Files (x86)\scala\bin; (請選擇你之前安裝Scala的路徑,這個路徑是我電腦的),這裡也可以是這個值:%SCALA_HOME%\bin;,意思是一樣的。
測試Scala環境
這兩步做完後,Scala環境就算是配置完了,但是配置完了並不代表就能用,我們還需要測試下:
依然開啟命令工具,輸入以下三個命令:scala,如果出現下圖的資訊就說明scala環境配置成功了。
4、使用Intellij IDEA寫hello world
Intellij IDEA是jetbrain開發的一個IDE,用於Java、Groovy、Scala等的開發,相對於其他開發工具來說,其對於程式碼檢視、上下文理解、cvs/ant/maven/git的支援都比較完善。
1)安裝Intellij IDEA
下載Intellij IDEA
首先點選這個連結: https://www.jetbrains.com/idea/download/download-thanks.html,進入IntelliJ IDEA官網的下載頁面,然後點選 右上角的 Download 按鈕,下載完成後直接點選你下載下來的檔案安裝,大家最好安裝預設的安裝步驟來,每一步都直接點選下一步,直到安裝完成。如果提示讓你註冊購買這個軟體,請自行想辦法,不知道如何就去度娘問問。
配置Intellij IDEA
安裝完成後,開啟Intellij IDEA,由於我已經執行過這個軟體了,所以會跟你的有點差別,所以請無視左側的黑色。首先點安裝圖上所示,選擇 Configure 中的 Plugins ,
再次點選下面的 Browse repositories 按鈕,
進入新頁面後,在上方的搜尋框中輸入 Scala,選擇Scala 這個外掛,點選右側邊欄中的 Install Plugin 按鈕,然後重啟Intellij IDEA。
重啟後,選擇 Configure 中的 Setting 選項,進入Intellij IDEA的設定頁面去修改IDE的Encoding,我們要將 IDE Encoding和 Project Encoding 以及最下方 的 Default Encoding for properties files 的屬性都修改為 UTF-8 ,注意 :如果不設定這裡,程式將不能執行。然後點選右下方的 Apply 按鈕和 OK 按鈕,關閉設定頁面。
然後選擇 Create New Project 這個選項,進入如下的頁面,繼續選擇 Scala 中的 Scala,然後點選 next ,進入工程配置頁面,
請自行填寫專案名稱,選擇專案存放的目錄,以及新增之前安裝的Java目錄以及Scala目錄,配置好這四個選項後,直接點選下面的 Finish 按鈕,完成專案的建立。
如果你按照我說的步驟正確配置的話,那麼相信你的工程已經建立成功了( Java的JDK以及Scala的SDK都已經正確的顯示出來),例如下圖這樣:
從上圖我們可以看到現在還沒有原始檔,只有一個存放原始檔的目錄src以及存放工程其他資訊的檔案,接下來我們需要建立的是入口類,即Object。
將滑鼠放在 目錄src 上,點選右鍵依次選擇 New ——》 Scala Class :
建立的是入口類,Name 填寫“HelloWorld”,Kind 選擇 Object,點選 OK,就將入口類建立成功了。
最後在新建的HelloWorld類中,輸入如下程式碼:
object HelloWorld {
/* 這是我的第一個 Scala 程式
* 以下程式將輸出'Hello World!'
*/
def main(args: Array[String]) {
println("Hello, world!") // 輸出 Hello World
}
}
然後將滑鼠放在目錄HelloWorld檔案上,點選右鍵,選擇 Run “Hello World”:
如果最後執行結果如下,那麼恭喜你,就說明你的第一個Scala程式就算是執行成功了。
如果在運作結果的時候出現了錯誤,請在將本文細讀一次,在這篇文章中已經講解了如何避免兩個很嚴重的問題。