我想在Pyspark中递归地遍历给定的hdfs路径,而不使用hadoop fs -ls [path]
。我尝试了建议的解决方案here,但发现listStatus()
仅返回给定路径中第一个子目录的状态。根据this documentation,listStatus
应该返回“如果路径是目录,则给定路径中文件/目录的状态”。我想念什么?
我正在使用Hadoop 2.9.2,Spark 2.3.2和Python 2.7。
我无法完全重新创建场景,但是我认为这与以下事实有关:如果路径不是目录,则该路径上的listStatus()
将返回长度为1的列表,其中仅包含路径本身。