在這里配置的是在命令行下運行spark的環境用來學習,最后結果如下,可運行簡單的代碼。
0、jdk、scala和spark的版本問題
有關版本如官網所示,我想要強調的是spark至今並不支持jdk11,只支持到jdk8(jdk1.8).如果版本不對,你跑普通的代碼都會報類、函數不存在的錯誤,我所下載的版本如上圖所示spark2.4.3、scala2.11.12、java1.8。
1、 安裝環境
在win10 64位系統中,我已經安裝好jdk、scala,並設置好了環境變量JAVA_HOME、SCALA_HOME、PATH。此時在cmd里輸入scala -version和java -version可以獲得對應的版本。
2、 安裝spark
從官網http://spark.apache.org/downloads.html下載對應版本的壓縮包,解壓在本地某個目錄下,並設置好環境變量。
下載:
解壓:
設置環境變量:
SPARK_HOME設置為你的解壓后的文件目錄、在path中添加%SPARK_HOME%\bin
3、 配置hadoop
同樣是下載壓縮包、解壓、添加環境變量。需要注意hadoop對應的版本,下載官網http://hadoop.apache.org/releases.html
環境變量:
HADOOP_HOME設置為你的解壓后的文件目錄、在path中添加%HADOOP_HOME%\bin
4、 測試
之后就可以通過spark-shell進入交互spark命令行,進行簡單的代碼測試了,比如:
練習1:
//通過並行化生成rdd val rdd1 = sc.parallelize(List(5, 6, 4, 7, 3, 8, 2, 9, 1, 10)) //對rdd1里的每一個元素乘2然后排序 val rdd2 = rdd1.map(_ * 2).sortBy(x => x, true) //過濾出大於等於十的元素 val rdd3 = rdd2.filter(_ >= 10) //將元素以數組的方式在客戶端顯示 rdd3.collect
參考:
https://blog.csdn.net/songhaifengshuaige/article/details/79480491