Spark读取HDFS某个路径下的子文件夹中的所有文件
解决办法:使用*
验证:
在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两个子目录下的文件。