使用parallelize創(chuàng)建RDD 也 可以使用makeRDD來創(chuàng)建RDD。
宜秀網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
通過查看源碼可以發(fā)現(xiàn),makeRDD執(zhí)行的時(shí)候,也是在調(diào)用parallelize函數(shù),二者無區(qū)別。
通過 .textFile 可以通過文件讀取項(xiàng)目路徑 和 hdfs 文件路徑
*
makeRDD 和 parallelize 第二個(gè)參數(shù)為處理的并行度數(shù)量
不給定時(shí),默認(rèn)值為 通過
conf.getInt("spark.default.parallelism", math.max(totalCoreCount.get(), 2)) 獲取
即 獲取 spark.default.parallelism 參數(shù)值
當(dāng)參數(shù)值存在時(shí),使用 spark.default.parallelism 配置的參數(shù)
當(dāng)參數(shù)不存在時(shí),比較系統(tǒng)總共可用核數(shù) 和 2 ,哪個(gè)大使用哪個(gè)
*
通過.textFile 第二個(gè)參數(shù)為處理的并行度數(shù)量(textFile對數(shù)據(jù)切分規(guī)則和hadoop對文件切分規(guī)則一致)
不給定時(shí),默認(rèn)值為取 conf.getInt("spark.default.parallelism", math.min(totalCoreCount.get(), 2))
即參數(shù)不存在時(shí),比較系統(tǒng)總共可用核數(shù) 和 2 ,哪個(gè)小使用哪個(gè),但是不一定是分區(qū)數(shù),取決于hadoop讀取文件時(shí)的分片規(guī)則
查看源碼可發(fā)現(xiàn),底層調(diào)用的是 hadoopFile,因此 假設(shè)參數(shù)默認(rèn)值為 2
經(jīng)過hadoop切片處理,會經(jīng)過hadoop對文件進(jìn)行切分,假如數(shù)據(jù)為5條,經(jīng)過hadoop切片會分成 2 2 1 條數(shù)據(jù)
*
saveRDD 函數(shù)存儲的分區(qū)數(shù),即數(shù)據(jù)文本數(shù)量,取決于 運(yùn)行的并行度