安裝Spark
-------------------html
首先,安裝spark以前須要先安裝scala,而且安裝scala的版本必定要是將要安裝的spark要求的版本。好比spark2.1.0 要求scala 2.11系列的版本,不能多也不能少
1.下載spark-2.1.0-bin-hadoop2.7.tgzweb
地址:http://spark.apache.org/downloads.html
2.解壓shell
Linux中:
3.環境變量
[/etc/profile]
SPARK_HOME=/soft/spark
PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
[source]
$>source /etc/profileapache
Windos系統中:centos
將spark安裝目錄的bin目錄以及sbin目錄添加到path環境變量中api
4.驗證spark
運行spark的bin目錄中的spark-shellmaven
5.webUI
http://localhost:4040/函數
注:在spark-shell中 函數.(注意「.」)能夠查看apioop
spark實現word count
------------------------測試
建立測試文檔test.txt內容爲
hello world1
hello world2
hello world3
hello world4
打開spark-shell按行執行下列命令
//單詞統計1
$scala>val rdd1 = sc.textFile("/home/centos/test.txt")
$scala>val rdd2 = rdd1.flatMap(line=>line.split(" "))
$scala>val rdd3 = rdd2.map(word = > (word,1))
$scala>val rdd4 = rdd3.reduceByKey(_ + _)
$scala>rdd4.collect
//單詞統計2
sc.textFile("/home/centos/test.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _).collect
//統計全部含有wor字樣到單詞個數。filter
//過濾單詞
sc.textFile("/home/centos/test.txt").flatMap(_.split(" ")).filter(_.contains("wor")).map((_,1)).reduceByKey(_ + _).collect
[API]
SparkContext:
Spark功能的主要入口點。表明到Spark集羣的鏈接,能夠建立RDD、累加器和廣播變量.
每一個JVM只能激活一個SparkContext對象,在建立sc以前須要stop掉active的sc。
SparkConf:
spark配置對象,設置Spark應用各類參數,kv形式。
分別以scala以及Java實現wordcount示例
----------------------------------------------------------
建立Java項目,添加maven以及scala支持:
項目中添加spark依賴包
scala版:
Java版:
直接運行便可,輸出以下:
有此可見scala與Java開發Spark的代碼差別,太巨大了,仍是別偷懶趕忙去學scala吧,開發效率不是一個級別的。
接下來咱們能夠把咱們的項目打成jar包,經過spark-submit命令在spark中運行:
spark-submit --master [主節點地址] --name [任務名稱] --class [jar包的main方法入口類名] [jar包地址]
spark-submit --master local --name myWordCount --class WordCountScala D:\workSpace\58QF\sparkFirst\target\sparkFirst-1.0-SNAPSHOT.jar