二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企資快報(bào) » 商業(yè) » 正文

        Spark_WordCount_產(chǎn)生多少個(gè)_R

        放大字體  縮小字體 發(fā)布日期:2022-01-24 19:55:23    作者:百里韻鏵    瀏覽次數(shù):21
        導(dǎo)讀

        曾經(jīng)在一次面試中被問到 Spark WordCount 產(chǎn)生多少個(gè) RDD,您知道么?下面通過源碼來說明經(jīng)典得 WordCount 到底產(chǎn)生多少個(gè) RDD。 import org.apache.spark.{SparkConf, SparkContext}object WordCount {def main(arg

        曾經(jīng)在一次面試中被問到 Spark WordCount 產(chǎn)生多少個(gè) RDD,您知道么?下面通過源碼來說明經(jīng)典得 WordCount 到底產(chǎn)生多少個(gè) RDD。

        import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WordCountApp").setMaster("local[2]") val sc = new SparkContext(conf) val wc = sc.textFile("hdfs://hadoop001:9000/data/wordcount.txt") .flatMap(x=>(x.split(","))).map(x=>(x,1)).reduceByKey(_+_) .saveAsTextFile("hdfs://hadoop001:9000/data/output") sc.stop() } } textFile()

        通過下面得源碼,可以看到在這個(gè)方法中先調(diào)用了一個(gè) hadoopFile 方法再調(diào)用 map 方法

        hadoopFile 方法返回得是個(gè) RDD(HadoopRDD),在對(duì)這個(gè)RDD調(diào)用map方法,

        點(diǎn)到map方法中可以看到 ,map方法中產(chǎn)生了一個(gè)MapPartitionsRDD

        也就是說 textFile 產(chǎn)生 2個(gè) RDD分別是 HadoopRDD 和 MapPartitionsRDD

        flatMap ()

        flatMap 產(chǎn)生了一個(gè) RDD,MapPartitionsRDD

        map()

        map 產(chǎn)生了一個(gè) RDD,MapPartitionsRDD

        reduceByKey()

        這里要注意啦,reduceByKey 雖然是一個(gè) rdd 調(diào)用得,但 reduceByKey 這個(gè)方法不是 RDD 中得方法,我們可以在 RDD 中找到如下得一個(gè)隱式轉(zhuǎn)換,當(dāng)我們?nèi)フ{(diào)用reduceByKey 方法時(shí),會(huì)發(fā)生隱式轉(zhuǎn)換,隱式得 RDD 轉(zhuǎn)化成了PairRDDFunctions這個(gè)類,reduceByKey 是 PairRDDFunctions 得方法

        reduceByKey 產(chǎn)生了一個(gè)RDD,ShuffledRDD

        saveAsTextFile()

        其實(shí),在執(zhí)行saveAsTextFile之前,我們可以通過RDD提供得toDebugString看到這些個(gè)算子在調(diào)用得時(shí)候到底產(chǎn)生了多少個(gè)RDD

        scala> val rdd = sc.textFile("file:///home/hadoop/data/wordcount.txt").flatMap(_.split(",")).map((_,1)).reduceByKey(_+_) rdd: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[9] at reduceByKey at <console>:24 scala> rdd.toDebugString res1: String = (2) ShuffledRDD[9] at reduceByKey at <console>:24 [] +-(2) MapPartitionsRDD[8] at map at <console>:24 [] | MapPartitionsRDD[7] at flatMap at <console>:24 [] | file:///home/hadoop/data/wordcount.txt MapPartitionsRDD[6] at textFile at <console>:24 [] | file:///home/hadoop/data/wordcount.txt HadoopRDD[5] at textFile at <console>:24 []總結(jié)

        我們可以看見在 Spark 得一個(gè)標(biāo)準(zhǔn)得 WordCount 中一共會(huì)產(chǎn)生 6 個(gè) RDD,textFile() 會(huì)產(chǎn)生一個(gè) HadoopRDD 和一個(gè) MapPerPartitionRDD,flatMap() 方法會(huì)產(chǎn)生一個(gè) MapPartitionsRDD,map() 方法會(huì)產(chǎn)生一個(gè) MapPartitionsRDD ,reduceByKey() 方法會(huì)產(chǎn)生一個(gè) ShuffledRDD,saveAsTextFile 會(huì)產(chǎn)生一個(gè) MapPartitionsRDD,所以一共會(huì)產(chǎn)生 6 個(gè) RDD。

        如果感覺上面得文章對(duì)各位有幫助,歡迎各位大佬我個(gè)人,感謝。

         
        (文/百里韻鏵)
        免責(zé)聲明
        本文僅代表作發(fā)布者:百里韻鏵個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

        粵ICP備16078936號(hào)

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號(hào): weishitui

        客服001 客服002 客服003

        工作時(shí)間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 八戒久久精品一区二区三区| 国产精品一区二区三区高清在线| 无码人妻一区二区三区在线 | 一区二区三区国产| 亚洲熟女综合色一区二区三区| 东京热人妻无码一区二区av| 免费精品一区二区三区在线观看| 91在线看片一区国产| 亚洲国产一区二区a毛片| 国产伦理一区二区| 久久99精品免费一区二区| 国产一区内射最近更新| 国产成人免费一区二区三区| 日韩欧美一区二区三区免费观看| 无码国产精品一区二区免费式影视| 国产另类TS人妖一区二区 | 日产精品久久久一区二区| 国产一区三区二区中文在线 | 久99精品视频在线观看婷亚洲片国产一区一级在线 | 无码人妻AV免费一区二区三区| 国产亚洲综合一区柠檬导航| 农村人乱弄一区二区 | 成人欧美一区二区三区在线视频| 91视频一区二区三区| 无码丰满熟妇一区二区| 无码一区二区三区亚洲人妻| 免费观看日本污污ww网站一区 | 国产精品丝袜一区二区三区| 日本免费电影一区二区| 中文字幕在线一区二区在线| 亚洲乱码一区二区三区国产精品 | 色婷婷AV一区二区三区浪潮| 日本一区午夜艳熟免费| 久久久精品人妻一区亚美研究所| 日韩精品视频一区二区三区| 无码人妻精品一区二区三区99性| 好吊妞视频一区二区| aⅴ一区二区三区无卡无码| 亚洲AV午夜福利精品一区二区 | 538国产精品一区二区在线| 精品免费久久久久国产一区 |