解決辦法:使用*
驗證:
在hdfs某個路徑下新建兩個文件夾,然后分別上傳一個文件到新建好的子文件夾中
[user1@hdp ~]$ hdfs dfs -mkdir /tmp/test [user1@hdp ~]$ hdfs dfs -mkdir /tmp/test/data1 [user1@hdp ~]$ hdfs dfs -mkdir /tmp/test/data2 [user1@hdp ~]$ hdfs dfs -put test1.txt /tmp/test/data1/ [user1@hdp ~]$ hdfs dfs -put test2.txt /tmp/test/data2/
其中test1.txt的內容為
hello world
java scala
spark hadoop
test2.txt的內容為
shanghai nanjing
hangzhou wuhan
然后在spark-shell中讀取
scala> spark.sparkContext.textFile("/tmp/test/*").collect() res0: Array[String] = Array(hello world, java scala, spark hadoop, shanghai nanjing, hangzhou wuhan)
可以看到已經讀取到了test兩個子目錄下的文件。