gpt4 book ai didi

file - 如何从 pyspark 中的 hdfs 获取目录的文件名列表?

转载 作者:行者123 更新时间:2023-12-02 09:43:44 45 4
gpt4 key购买 nike

我在 hdfs 中有一个目录,其中包含许多文件。我知道该目录的路径,并且我正在尝试获取该目录包含的文件名的列表。我怎样才能做到呢?

如果我有一个如下目录:

+dir/
+f1
+f2
+fN

我想获得如下列表:

[f1, f2, fN]

最佳答案

您可以通过一点 py4j 魔法在 pyspark 中使用 HDFS(或任何其他兼容的 Hadoop 文件系统)API。要列出特定目录中的文件,请使用:

path = "/here/is/my/dir/"
fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration())
list_status = fs.listStatus(spark._jvm.org.apache.hadoop.fs.Path(path))
result = [file.getPath().getName() for file in list_status]

list_status 集合的元素类型为 FileSystem 。通过此 API,您可以获取文件元数据,例如目录、模式、所有者、组、acls 等信息,并使用这些信息过滤掉不需要的文件。

关于file - 如何从 pyspark 中的 hdfs 获取目录的文件名列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46566005/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com