1. 程式人生 > >spark讀取多個資料夾(巢狀)下的多個檔案

spark讀取多個資料夾(巢狀)下的多個檔案

在正常呼叫過程中,難免需要對多個資料夾下的多個檔案進行讀取,然而之前只是明確了Spark具備讀取多個檔案的能力。

針對多個資料夾下的多個檔案,以前的做法是先進行資料夾的遍歷,然後再進行各個資料夾目錄的讀取。

今天在做測試的時候,居然發現spark原生就支援這樣的能力。

原理也非常簡單,就是textFile功能。編寫這樣的程式碼,讀取上次輸出的多個結果,由於RDD儲存結果都是儲存為一個資料夾。而多個相關聯RDD的結果就是多個資料夾。

通過如下程式碼:

  //## read all files(files in different directorys)
          val alldata = sc.textFile("data/Flag/*/part-*")
          println(alldata.count())   

經過測試,可以實現對多個相關聯RDD儲存結果的一次性讀取。