(圖片來源於網絡,侵刪)
textFile() 與 sc.wholeTextFiles的區別
1)當指定的路徑是目錄且該目錄下全部都是文件時,textFile() 和 wholeTextFiles() 都正常讀取
2)當指定的路徑是文件時,textFile() 和 wholeTextFiles() 都正常讀取
3)當指定的路徑是目錄且該目錄下既有文件也有目錄時,textFile() 會報錯, wholeTextFiles() 正常讀取該目錄下的所有文件
1)textFile讀取文件的每一行作爲 列表List的 一條記錄,所以返回一個RDD[String]
2) wholeTextFiles() 讀取是按照文件進行讀取,返回一個RDD[(key, val)]
,其中key是該文件的文件路徑,value是這個文件的所有數據,所以我們對value進行數據解析(例如通過\r\n將數據進行按行切分),才能對文件數據進行操作