Spark MLlib 入門學習筆記 - 程式設計環境配置
配置windows下Spark MLlib的程式設計環境,實現在windows下用scala開發程式,用小資料集測試驗證程式的正確性。少做修改,或者不做修改,然後打包成jar檔案,用spark-submit提交到spark叢集進行測試。假設已 安裝好jdk、scala、IntelliJ IDEA和scala外掛。
1. 安裝hadoop、spark和hadoop2.6_Win_x64-master
下載 hadoop-2.6.0.tar.gz和spark-1.6.0-bin-hadoop2.6,從github下載hadoop2.6_Win_x64-master.zip(https://github.com/sdravida/hadoop2.6_Win_x64)。建立目錄e:\spark,1)將三個檔案解壓縮到e:\spark目錄下,2)將E:\spark\hadoop2.6_Win_x64-master\bin的檔案拷貝到E:\spark\hadoop260\bin下面,3)將spark-assembly-1.6.0-hadoop2.6.0.jar檔案拷貝到C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.5\lib目錄下。
2. 配置spark編譯環境
啟動idea建立scala工程
2. 新增spark-assembly-1.6.0-hadoop2.6.0.jar依賴包
點選File主選單的Project Structure子選單,彈出配置介面後選擇Libraries,再點"+"號彈出Select Library Files介面,完成選擇後,點OK就可以了。
在SparkDiscover目錄下建立data目錄,並在這個目錄下建一個wordcount.txt檔案,用作測試。在src目錄下建立兩級子目錄main/scala作為原始碼存放目錄,然後建立一個名稱為basic的package目錄和WordCount原始檔。
package basic
/**
* Created by Oliver on 2017/5/13.
*/
import org.apache.spark.{SparkConf, SparkContext}
// "local"
// "E:/MyProject/SparkDiscover/data/wordcount.txt"
object WordCount {
def main(args: Array[String]){
val conf = new SparkConf().setMaster(args(0)).setAppName("WordCount")
val sc = new SparkContext(conf)
val data = sc.textFile(args(1))
data.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect().foreach(println)
}
}
程式中用了兩個引數,引數1:提交到本地還是叢集,引數2:檔名(本地或者是hdfs),在本地windows 下的執行配置。程式很簡單,建立定義、建立上下文、讀資料檔案、呼叫flatMap進行處理(空格分割、map計數、reduce將計數相加,最後逐行列印輸出)。
執行結果
打包輸出,選擇選單File/Project Structure彈出介面後選擇Artificts,點選"+" 如下圖進行選擇,再依次點apply和ok。
點完以後發現,它把所有的包多新增進去了,時間上不需要這麼多。把不需要的包刪除,結果如下圖所示。
build jar包
3. 在spark叢集下執行
從out/artifacts/SparkDiscover_jar目錄下拷貝SparkDiscover.jar檔案到spark叢集上,執行一下指令碼進行測試。
spark-submit --master spark://d-hdp-01:7077 \
--class basic.WordCount \
--executor-memory 1g \
/home/hadoop/_testing/SparkDiscover.jar \
spark://d-hdp-01:7077 \
hdfs://d-hdp-01:9000/user/hadoop.txt > result.log
列印輸出被重定向到result.log檔案中。執行結果如下。
從介面上可以看到提交的任務,提交兩次,介面上也顯示了兩次。
相關文章
- 學習筆記|AS入門(一) 環境篇筆記
- spark學習筆記--進階程式設計Spark筆記程式設計
- Spark MLlib學習(1)--基本統計Spark
- PyTorch深度學習入門筆記(一)PyTorch環境配置及安裝PyTorch深度學習筆記
- Xamarin 學習筆記 - 配置環境(Windows & iOS)筆記WindowsiOS
- Maven 學習筆記——Maven環境配置(1)Maven筆記
- 【OCP學習筆記】配置網路環境 -- 3筆記
- 【OCP學習筆記】配置網路環境 -- 4筆記
- 【OCP學習筆記】配置網路環境 -- 1筆記
- 【OCP學習筆記】配置網路環境 -- 2筆記
- spark入門筆記Spark筆記
- 《ORACLE 9i/10g/11g程式設計藝術》學習筆記 配置環境Oracle程式設計筆記
- JavaScript入門學習之旅(二)——JavaScript DOM程式設計藝術學習筆記(上)JavaScript程式設計筆記
- 微信小程式入門學習筆記微信小程式筆記
- QT程式設計------VS2012配置QT環境,QT入門程式設計QT程式設計
- Spark入門學習Spark
- python程式設計:從入門到實踐學習筆記-字典Python程式設計筆記
- Spark學習進度-Spark環境搭建&Spark shellSpark
- 學習筆記:MQTT環境搭建筆記MQQT
- webpack學習筆記(mac環境)Web筆記Mac
- spark學習筆記--Spark SQLSpark筆記SQL
- tensorflow學習筆記1——mac開發環境配置筆記Mac開發環境
- 學習筆記-kali中配置python編寫環境筆記Python
- spark學習之-----spark程式設計模型Spark程式設計模型
- spark學習筆記Spark筆記
- Spark 學習筆記Spark筆記
- Webpack4 學習筆記八 開發環境和生產環境配置Web筆記開發環境
- python程式設計:從入門到實踐學習筆記-函式Python程式設計筆記函式
- 程式設計入門18:Python生產環境程式設計Python
- TS入門學習筆記筆記
- 【PostgreSQL】入門學習筆記SQL筆記
- git入門學習筆記Git筆記
- Docker入門學習筆記Docker筆記
- Unity學習筆記--入門Unity筆記
- ActionScript 學習筆記(入門)筆記
- MSP432安裝與環境配置(ccs) 學習筆記筆記
- Android環境搭建學習筆記Android筆記
- React學習筆記1:環境搭建React筆記