溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

spark入門知識(shí)和job任務(wù)提交流程

發(fā)布時(shí)間:2020-04-11 09:11:35 來(lái)源:網(wǎng)絡(luò) 閱讀:892 作者:ChinaUnicom110 欄目:大數(shù)據(jù)

spark是Apache開(kāi)源社區(qū)的一個(gè)分布式計(jì)算引擎,基于內(nèi)存計(jì)算,所以速度要快于hadoop.

下載

  1. 地址spark.apache.org

安裝

  1. 復(fù)制一臺(tái)單獨(dú)的虛擬機(jī),名c

  2. 修改其ip,192.168.56.200

  3. 修改其hostname為c,hostnamectl set-hostname c

  4. 修改/etc/hosts加入對(duì)本機(jī)的解析

  5. 重啟網(wǎng)絡(luò)服務(wù) systemctl restart network

  6. 上傳spark安裝文件到root目錄

  7. 解壓spark到/usr/local下,將其名字修改為spark

本地運(yùn)行模式

使用spark-submit提交job

  1. cd /usr/local/spark

  2. ./bin/spark-submit --class org.apache.spark.examples.SparkPi ./examples/jars/spark-examples_2.11-2.1.0.jar 10000

使用spark-shell進(jìn)行交互式提交

  1. 創(chuàng)建root下的文本文件hello.txt

  2. ./bin/spark-shell

  3. 再次連接一個(gè)terminal,用jps觀察進(jìn)程,會(huì)看到spark-submit進(jìn)程

  4. sc

  5. sc.textFile("/root/hello.txt")

  6. val lineRDD = sc.textFile("/root/hello.txt")

  7. lineRDD.foreach(println)

  8. 觀察網(wǎng)頁(yè)端情況

  9. val wordRDD = lineRDD.flatMap(line => line.split(" "))

  10. wordRDD.collect

  11. val wordCountRDD = wordRDD.map(word => (word,1))

  12. wordCountRDD.collect

  13. val resultRDD = wordCountRDD.reduceByKey((x,y)=>x+y)

  14. resultRDD.collect

  15. val orderedRDD = resultRDD.sortByKey(false)

  16. orderedRDD.collect

  17. orderedRDD.saveAsTextFile("/root/result")

  18. 觀察結(jié)果

  19. 簡(jiǎn)便寫法:sc.textFile("/root/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect

使用local模式訪問(wèn)hdfs數(shù)據(jù)

  1. start-dfs.sh

  2. spark-shell執(zhí)行:sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().collect (可以把ip換成master,修改/etc/hosts)

  3. sc.textFile("hdfs://192.168.56.100:9000/hello.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortByKey().saveAsTextFile("hdfs://192.168.56.100:9000/output1")

spark standalone模式

  1. 在master和所有slave上解壓spark

  2. 修改master上conf/slaves文件,加入slave

  3. 修改conf/spark-env.sh,export SPARK_MASTER_HOST=master

  4. 復(fù)制spark-env.sh到每一臺(tái)slave

  5. cd /usr/local/spark

  6. ./sbin/start-all.sh

  7. 在c上執(zhí)行:./bin/spark-shell --master spark://192.168.56.100:7077 (也可以使用配置文件)

  8. 觀察http://master:8080

spark on yarn模式


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI