這樣做的目的是爲了在HDFS中的第二個位置操作和保存每個數據文件的副本。我將使用如何列出Spark Scala shell中HDFS位置中的所有csv文件?
RddName.coalesce(1).saveAsTextFile(pathName)
將結果保存到HDFS。
這就是爲什麼我想要做的每個文件分開,即使我相信性能不會被視爲有效。但是,我還沒有確定如何將CSV文件路徑列表存儲到字符串數組中,然後使用單獨的RDD循環遍歷每個文件路徑。
讓我們用下面的匿名例子作爲HDFS源位置:
/data/email/click/date=2015-01-01/sent_20150101.csv
/data/email/click/date=2015-01-02/sent_20150102.csv
/data/email/click/date=2015-01-03/sent_20150103.csv
我知道如何使用Hadoop FS殼牌列出文件路徑:
HDFS DFS -ls /data/email/click/*/*.csv
我知道如何創建一個RDD的所有數據:
val sentRdd = sc.textFile("/data/email/click/*/*.csv")
你必須使用URI的原因嗎?我可以只使用Path,返回結果是List [Path] –
@MinnieShi它看不到任何原因,你不能 – zero323