多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 服務(wù)器 > spark之RDD

spark之RDD

來源:程序員人生   發(fā)布時(shí)間:2016-06-25 08:18:24 閱讀次數(shù):3250次
1、Spark中的RDD就是1個(gè)不可變的散布式對象集合。每一個(gè)RDD都被分為多個(gè)分區(qū),這些分區(qū)運(yùn)行在集群的不同節(jié)點(diǎn)上。創(chuàng)建RDD的方法有兩種:1種是讀取1個(gè)外部數(shù)據(jù)集;1種是在群東程序里分發(fā)驅(qū)動(dòng)器程序中的對象集合,不如剛才的示例,讀取文本文件作為1個(gè)字符串的RDD的示例。
2、創(chuàng)建出來后,RDD支持兩種類型的操作:轉(zhuǎn)化操作和行動(dòng)操作
轉(zhuǎn)化操作會(huì)由1個(gè)RDD生成1個(gè)新的RDD。(比如剛才的根據(jù)謂詞挑選)
行動(dòng)操作會(huì)對RDD計(jì)算出1個(gè)結(jié)果,并把結(jié)果返回到驅(qū)動(dòng)器程序中,或把結(jié)果存儲(chǔ)到外部存儲(chǔ)系統(tǒng)(比如HDFS)中。比如first操作就是1個(gè)行動(dòng)操作,會(huì)返回RDD的第1個(gè)元素。
注:轉(zhuǎn)化操作與行動(dòng)操作的區(qū)分在于Spark計(jì)算RDD的方式不同。雖然你可以在任什么時(shí)候候定義1個(gè)新的RDD,但Spark只會(huì)惰性計(jì)算這些RDD。它們只有第1個(gè)在1個(gè)行動(dòng)操作中用到時(shí),才會(huì)真實(shí)的計(jì)算。之所以這樣設(shè)計(jì),是由于比如剛才調(diào)用sc.textFile(...)時(shí)就把文件中的所有行都讀取并存儲(chǔ)起來,就會(huì)消耗很多存儲(chǔ)空間,而我們馬上又要挑選掉其中的很多數(shù)據(jù)。
這里還需要注意的1點(diǎn)是,spark會(huì)在你每次對它們進(jìn)行行動(dòng)操作時(shí)重新計(jì)算。如果想在多個(gè)行動(dòng)操作中重用同1個(gè)RDD,那末可使用RDD.persist或RDD.collect讓Spark把這個(gè)RDD緩存下來。(可以是內(nèi)存,也能夠是磁盤)

3、Spark會(huì)使用譜系圖來記錄這些不同RDD之間的依賴關(guān)系,Spark需要用這些信息來按需計(jì)算每一個(gè)RDD,也能夠依托譜系圖在持久化的RDD丟失部份數(shù)據(jù)時(shí)用來恢復(fù)所丟失的數(shù)據(jù)。(以下圖,過濾errorsRDD與warningsRDD,終究調(diào)用union函數(shù))



窄依賴 (narrowdependencies) 和寬依賴 (widedependencies) 。窄依賴是指 父 RDD 的每一個(gè)分區(qū)都只被子 RDD 的1個(gè)分區(qū)所使用 。相應(yīng)的,那末寬依賴就是指父 RDD 的分區(qū)被多個(gè)子 RDD 的分區(qū)所依賴。例如, map 就是1種窄依賴,而 join 則會(huì)致使寬依賴
這類劃分有兩個(gè)用途。首先,窄依賴支持在1個(gè)結(jié)點(diǎn)上管道化履行。例如基于1對1的關(guān)系,可以在 filter 以后履行 map 。其次,窄依賴支持更高效的故障還原。由于對窄依賴,只有丟失的父 RDD 的分區(qū)需要重新計(jì)算。而對寬依賴,1個(gè)結(jié)點(diǎn)的故障可能致使來自所有父 RDD 的分區(qū)丟失,因此就需要完全重新履行。因此對寬依賴,Spark 會(huì)在持有各個(gè)父分區(qū)的結(jié)點(diǎn)上,將中間數(shù)據(jù)持久化來簡化故障還原,就像 MapReduce 會(huì)持久化 map 的輸出1樣。


RDD工作原理:
RDD(Resilient DistributedDatasets)[1] ,彈性散布式數(shù)據(jù)集,是散布式內(nèi)存的1個(gè)抽象概念,RDD提供了1種高度受限的同享內(nèi)存模型,即RDD是只讀的記錄分區(qū)的集合,只能通過在其他RDD履行肯定的轉(zhuǎn)換操作(如map、join和group by)而創(chuàng)建,但是這些限制使得實(shí)現(xiàn)容錯(cuò)的開消很低。對開發(fā)者而言,RDD可以看做是Spark的1個(gè)對象,它本身運(yùn)行于內(nèi)存中,如讀文件是1個(gè)RDD,對文件計(jì)算是1個(gè)RDD,結(jié)果集也是1個(gè)RDD,不同的分片、數(shù)據(jù)之間的依賴、key-value類型的map數(shù)據(jù)都可以看作RDD。
主要分為3部份:創(chuàng)建RDD對象,DAG調(diào)度器創(chuàng)建履行計(jì)劃,Task調(diào)度器分配任務(wù)并調(diào)度Worker開始運(yùn)行。
SparkContext(RDD相干操作)→通過(提交作業(yè))→(遍歷RDD拆分stage→生成作業(yè))DAGScheduler→通過(提交任務(wù)集)→任務(wù)調(diào)度管理(TaskScheduler)→通過(依照資源獲得任務(wù))→任務(wù)調(diào)度管理(TaskSetManager)
Transformation返回值還是1個(gè)RDD。它使用了鏈?zhǔn)秸{(diào)用的設(shè)計(jì)模式,對1個(gè)RDD進(jìn)行計(jì)算后,變換成另外1個(gè)RDD,然后這個(gè)RDD又可以進(jìn)行另外1次轉(zhuǎn)換。這個(gè)進(jìn)程是散布式的。
Action返回值不是1個(gè)RDD。它要末是1個(gè)Scala的普通集合,要末是1個(gè)值,要末是空,終究或返回到Driver程序,或把RDD寫入到文件系統(tǒng)中
轉(zhuǎn)換(Transformations)(如:map, filter, groupBy, join等),Transformations操作是Lazy的,也就是說從1個(gè)RDD轉(zhuǎn)換生成另外一個(gè)RDD的操作不是馬上履行,Spark在遇到Transformations操作時(shí)只會(huì)記錄需要這樣的操作,其實(shí)不會(huì)去履行,需要等到有Actions操作的時(shí)候才會(huì)真正啟動(dòng)計(jì)算進(jìn)程進(jìn)行計(jì)算。
操作(Actions)(如:count, collect, save等),Actions操作會(huì)返回結(jié)果或把RDD數(shù)據(jù)寫到存儲(chǔ)系統(tǒng)中。Actions是觸發(fā)Spark啟動(dòng)計(jì)算的動(dòng)因。
它們本質(zhì)區(qū)分是:Transformation返回值還是1個(gè)RDD。它使用了鏈?zhǔn)秸{(diào)用的設(shè)計(jì)模式,對1個(gè)RDD進(jìn)行計(jì)算后,變換成另外1個(gè)RDD,然后這個(gè)RDD又可以進(jìn)行另外1次轉(zhuǎn)換。這個(gè)進(jìn)程是散布式的。Action返回值不是1個(gè)RDD。它要末是1個(gè)Scala的普通集合,要末是1個(gè)值,要末是空,終究或返回到Driver程序,或把RDD寫入到文件系統(tǒng)中。關(guān)于這兩個(gè)動(dòng)作,在Spark開發(fā)指南中會(huì)有就進(jìn)1步的詳細(xì)介紹,它們是基于Spark開發(fā)的核心。


參考:http://www.itshipin.com/article/article110.html


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲综合精品一区二区三区中文 | 国产美女视频一区二区二三区 | 一级做a爰性色毛片免费 | 欧美日韩亚洲综合另类ac | 精品国产人成在线 | 成人精品 | 日韩精品视频在线播放 | 波多野结衣手机在线视频 | 欧美18 19sex性处video | 图片区小说校园 | 欧美亚洲高清 | 亚色精品 | 亚洲三级中文字幕 | 视频在线高清完整免费观看 | 亚洲第一免费网站 | 久久久网久久久久合久久久久 | 国产日韩精品一区二区在线观看播放 | 亚洲精品乱码久久久久久蜜桃 | 欧美日韩精品乱国产 | 亚欧成人在线 | 欧美双渗透 | 欧美洲久久日韩欧美 | 欧美一区二区aa大片 | 欧美交性| 国产精品亚洲欧美日韩区 | yellow字幕网最新官网2019 | 欧美亚洲一区二区三区 | 国产成人综合网 | videosfree性欧美另类 | 欧美色成人tv在线播放 | 武则天a级在线 | 免看一级a毛片一片成人不卡 | 日本一级黄色毛片 | 久久精品国产欧美成人 | 日韩一级一欧美一级国产 | 亚洲国产高清人在线 | 中文字幕日本在线视频二区 | 国产一国产一级毛片视频 | 农村女人的一级毛片 | 欧美性猛交xxx乱大交 | 欧美日韩国产亚洲一区二区三区 |