這篇文章主要介紹了spark如何整合hadoop,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯2013年開創(chuàng)至今,先為西林等服務建站,西林等地企業(yè),進行企業(yè)商務咨詢服務。為西林企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
Spark應用程序有兩部分組成
1.Driver 2 Executor
Spark基本概念
Application基于Spark的用戶程序,包含一個Driver 和集群的多個executor
Driver program運行Application的main函數并創(chuàng)建SparkContext通常用SparkContxet代表Driver Programe
Executor是為某Application運行在work node上的一個進程,該進程負責運行task,并且負責將數據存在內存
或者磁盤上,每個Application都有各自獨立的executor
Cluster manager,在集群上獲取集群資源的外部服務列如Standalone,Mesos ,yarn
worker node 集群中任何可以運行application代碼的節(jié)點
task被送到某個executor的工作單元
job包含多個task組成的并行運算,往往由spark action催生,該術語可以經常在日志中看到
rdd由spark的基本計算單元,可以通過一系列算子操作,主要有transaformation和action操作
并行化scala集合
spark使用parallelize方法轉換成RDD
val rdd1=sc.parallelize(Array(1,2,3,4,5))
val rdd2=sc.parallelize(List(0 to 10),5)
參數是slice對數據集切片,每一個slice啟動一個task進行處理
Spark支持text files可以支持讀取本地文件,支持整個目錄讀取,壓縮文件的讀取gzip 通配符的讀取第二個參數是分片可選
使用wholeTextFiles讀取目錄里面的小文件
使用sequenceF可以將sequenceFile轉換成rdd
使用hadoopRDD方法可以將其他任何hadoop的輸入類型轉化為RDD
廣播變量
廣播變量緩存到各個節(jié)點內存中,而不是每個task
廣播變量創(chuàng)建后,能在任何運行的函數中調用
廣播變量是只讀的,不能在廣播后修改
對于大數據集的廣播,spark嘗試用高效的傳播算法來降低通信成本
使用方法 val broadcastVar=sc.broadcast(Array(1,2,3))
broadcastVar.value
累加器
累加器只支持加法操作
累加器可以高效的并行,用于實現計數器和變量求和
Spark支持原生類型和標準可變的集合計數器,但用戶可以添加新的類型
只有驅動程序才能獲取累加器的值
使用方法
val accnum=sc.accumulator(0)
sc.parallelize(Array(1,2,3,4)).foreach(x=>accnum+=x)
accnum.value
spark要啟動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
感謝你能夠認真閱讀完這篇文章,希望小編分享的“spark如何整合hadoop”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯,關注創(chuàng)新互聯行業(yè)資訊頻道,更多相關知識等著你來學習!
網站標題:spark如何整合hadoop
網站地址:http://sd-ha.com/article24/gpsoce.html
成都網站建設公司_創(chuàng)新互聯,為您提供動態(tài)網站、Google、網站建設、云服務器、微信小程序、網站收錄
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯