spark基礎--rdd的生成

使用parallelize建立RDD 也 能夠使用makeRDD來建立RDD。ide

經過查看源碼能夠發現,makeRDD執行的時候,也是在調用parallelize函數,兩者無區別。函數


經過 .textFile 能夠經過文件讀取項目路徑 和 hdfs 文件路徑oop


*spa

makeRDD 和 parallelize 第二個參數爲處理的並行度數量hadoop

不給定時,默認值爲 經過get

conf.getInt("spark.default.parallelism", math.max(totalCoreCount.get(), 2)) 獲取源碼

即 獲取 spark.default.parallelism 參數值it

當參數值存在時,使用 spark.default.parallelism 配置的參數spark

當參數不存在時,比較系統總共可用核數 和 2 ,哪一個大使用哪一個class

*

經過.textFile 第二個參數爲處理的並行度數量(textFile對數據切分規則和hadoop對文件切分規則一致)

不給定時,默認值爲取 conf.getInt("spark.default.parallelism", math.min(totalCoreCount.get(), 2))

即參數不存在時,比較系統總共可用核數 和 2 ,哪一個小使用哪一個,可是不必定是分區數,取決於hadoop讀取文件時的分片規則

查看源碼可發現,底層調用的是 hadoopFile,所以 假設參數默認值爲 2

通過hadoop切片處理,會通過hadoop對文件進行切分,假如數據爲5條,通過hadoop切片會分紅 2 2 1 條數據

*

saveRDD 函數存儲的分區數,即數據文本數量,取決於 運行的並行度

相關文章
相關標籤/搜索