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

test1.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两个子目录下的文件。

原文地址:https://www.cnblogs.com/144823836yj/p/13384434.html