溫馨提示×

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

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

spark如何整合hadoop

發(fā)布時(shí)間:2021-12-08 10:00:17 來源:億速云 閱讀:335 作者:小新 欄目:云計(jì)算

這篇文章主要介紹了spark如何整合hadoop,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Spark應(yīng)用程序有兩部分組成
1.Driver 2 Executor
Spark基本概念
Application基于Spark的用戶程序,包含一個(gè)Driver 和集群的多個(gè)executor
Driver program運(yùn)行Application的main函數(shù)并創(chuàng)建SparkContext通常用SparkContxet代表Driver Programe
Executor是為某Application運(yùn)行在work node上的一個(gè)進(jìn)程,該進(jìn)程負(fù)責(zé)運(yùn)行task,并且負(fù)責(zé)將數(shù)據(jù)存在內(nèi)存
或者磁盤上,每個(gè)Application都有各自獨(dú)立的executor
Cluster manager,在集群上獲取集群資源的外部服務(wù)列如Standalone,Mesos ,yarn
worker node 集群中任何可以運(yùn)行application代碼的節(jié)點(diǎn)
task被送到某個(gè)executor的工作單元
job包含多個(gè)task組成的并行運(yùn)算,往往由spark action催生,該術(shù)語可以經(jīng)常在日志中看到
rdd由spark的基本計(jì)算單元,可以通過一系列算子操作,主要有transaformation和action操作
并行化scala集合
spark使用parallelize方法轉(zhuǎn)換成RDD
val rdd1=sc.parallelize(Array(1,2,3,4,5))
val rdd2=sc.parallelize(List(0 to 10),5)
參數(shù)是slice對(duì)數(shù)據(jù)集切片,每一個(gè)slice啟動(dòng)一個(gè)task進(jìn)行處理
Spark支持text files可以支持讀取本地文件,支持整個(gè)目錄讀取,壓縮文件的讀取gzip 通配符的讀取第二個(gè)參數(shù)是分片可選
使用wholeTextFiles讀取目錄里面的小文件
使用sequenceF可以將sequenceFile轉(zhuǎn)換成rdd
使用hadoopRDD方法可以將其他任何hadoop的輸入類型轉(zhuǎn)化為RDD
廣播變量
廣播變量緩存到各個(gè)節(jié)點(diǎn)內(nèi)存中,而不是每個(gè)task
廣播變量創(chuàng)建后,能在任何運(yùn)行的函數(shù)中調(diào)用
廣播變量是只讀的,不能在廣播后修改
對(duì)于大數(shù)據(jù)集的廣播,spark嘗試用高效的傳播算法來降低通信成本
使用方法 val broadcastVar=sc.broadcast(Array(1,2,3))
broadcastVar.value
累加器
累加器只支持加法操作
累加器可以高效的并行,用于實(shí)現(xiàn)計(jì)數(shù)器和變量求和
Spark支持原生類型和標(biāo)準(zhǔn)可變的集合計(jì)數(shù)器,但用戶可以添加新的類型
只有驅(qū)動(dòng)程序才能獲取累加器的值
使用方法
val accnum=sc.accumulator(0)
sc.parallelize(Array(1,2,3,4)).foreach(x=>accnum+=x)
accnum.value


spark要啟動(dòng)start all
[root@localhost bin]# ./spark-submit --master spark://127.0.0.1:7077 --class week2.SougoQA --executor-memory 3g scala.jar hdfs://127.0.0.1:9000/dataguru/data/SogouQ1.txt hdfs://127.0.0.1:9000/dataguru/week2/output
./spark-submit --master  --class week2.SougoQA --executor-memory 3g scala.jar hdfs://127.0.0.1:9000/dataguru/data/SogouQ1.txt hdfs://127.0.0.1:9000/dataguru/week2/output

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“spark如何整合hadoop”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(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