日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > spark內核揭秘-10-RDD源碼分析

spark內核揭秘-10-RDD源碼分析

來源:程序員人生   發布時間:2015-02-09 08:54:06 閱讀次數:4067次

RDD的核心方法:






首先看1下getPartitions方法的源碼:


getPartitions返回的是1系列partitions的集合,即1個Partition類型的數組

我們就想進入HadoopRDD實現:


1、getJobConf():用來獲得job Configuration,獲得配置方式有clone和非clone方式,但是clone方式 是not thread-safe,默許是制止的,非clone方式可以從cache中獲得,如cache中沒有那就創建1個新的,然后再放到cache中

2、進入 getInputFormcat(jobConf)方法:


3、進入inputFormat.getSplits(jobConf, minPartitions)方法:


進入FileInputFormcat類的getSplits方法:




5、進入HadoopPartition:



而getDependencies表達是RDD之間的依賴關系,以下所示:


getDependencies返回的是依賴關系的1個Seq集合,里面的Dependency數組中的下劃線是類型的PlaceHolder

我們進入ShuffledRDD類中的getDependencies方法:


我們進入ShuffleDependency類:


每一個RDD都會具有計算的函數,以下所示:


我們進入HadoopMapPartitionsWithSplitRDD的 compute方法:


Compute方法是針對RDD的每一個Partition進行計算的,其TaskContext參數的源碼以下:


getPreferredLocations是尋覓Partition的首選位置:


我們進入NewHadoopRDD的getPreferredLocations:



其實RDD還有1個可選的分區策略:


Partitioner的源碼以下:





可以看出默許使用的是HashPartitioner,要注意key為Array的情況;

spark.default.parallelism必須要設置,否則會根據partitions數據來傳輸RDD,這樣也會很容易出現OOM


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品综合久久 | 福利视频一区二区三区 | 蜜桃一区二区在线观看 | 中文字幕免费观看 | 国产精品福利在线 | 伊人2| 亚洲一区二区在线免费观看 | www.狠狠操.com | 免费看片黄 | 91嫩草视频在线 | 久久久午夜精品理论片中文字幕 | 久久精品播放 | 国产精成人 | 精品99久久久久久 | 国产福利一区在线观看 | 91社影院在线观看 | 亚洲动漫精品 | 国产精品a久久久久 | 久久国产精品无码网站 | 国产成人在线免费观看 | 中文字幕一区二区三区日韩精品 | 成人福利网站在线观看 | 国产高清免费观看 | 91视频在线免费 | 偷拍视频一区二区 | 91精品国产日韩91久久久久久 | 香蕉视频色版在线观看 | 久久成人一区 | 99国产精品视频免费观看一公开 | 国产精品区二区三区日本 | 一区二区在线免费 | 不卡一区二区三区四区 | 不用播放器av | 亚洲一区二区在线免费观看 | 日本久久精| 欧美一级毛片免费看 | 国产一级色片 | 亚洲欧美日韩高清 | 亚洲国产一区二区a毛片 | 国产成人午夜精华液 | 国产欧美综合一区二区三区 |