Pyspark FileSystem fs.listStatus(sc._jvm.org.apache.hadoop.fs.Path(path))仅返回第一个子目录

问题描述 投票:1回答:1

我想在Pyspark中递归地遍历给定的hdfs路径,而不使用hadoop fs -ls [path]。我尝试了建议的解决方案here,但发现listStatus()仅返回给定路径中第一个子目录的状态。根据this documentationlistStatus应该返回“如果路径是目录,则给定路径中文件/目录的状态”。我想念什么?

我正在使用Hadoop 2.9.2,Spark 2.3.2和Python 2.7。

pyspark hdfs
1个回答
0
投票

我无法完全重新创建场景,但是我认为这与以下事实有关:如果路径不是目录,则该路径上的listStatus()将返回长度为1的列表,其中仅包含路径本身。

© www.soinside.com 2019 - 2024. All rights reserved.