使用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 函數存儲的分區數,即數據文本數量,取決於 運行的並行度