当前位置: 首页 > 面试题库 >

如何在hadoop hdfs中列出目录及其子目录中的所有文件

公孙弘深
2023-03-14
问题内容

我在hdfs中有一个文件夹,其中有两个子文件夹,每个文件夹有大约30个子文件夹,最后每个子文件夹都包含xml文件。我想列出所有仅提供主文件夹路径的xml文件。在本地,我可以使用apache
commons-io的
FileUtils.listFiles()执行此操作。我已经试过了

FileStatus[] status = fs.listStatus( new Path( args[ 0 ] ) );

但是它仅列出了前两个子文件夹,并且没有进一步介绍。有什么办法可以在Hadoop中做到这一点?


问题答案:

您将需要使用FileSystem对象,并对生成的FileStatus对象执行一些逻辑,以手动将其递归到子目录中。

您还可以使用listStatus(Path,PathFilter)方法将PathFilter应用于仅返回xml文件

hadoop FsShell类具有hadoop fs -lsr命令的示例,这是一个递归ls-
请参见590行附近的源代码(递归步骤在635行触发)



 类似资料:
  • 问题内容: 列出1000多个目录和子目录中文件名的最快方法是什么? 编辑; 我使用的当前代码是: 问题答案: 看起来不错(递归遍历目录)瓶颈将是您需要执行的所有文件I / O操作,优化Java不会显示任何实际改进。

  • 问题内容: 如何在LINUX中grep目录中的字符串或文本及其所有子目录的文件? 问题答案: 如果您的grep支持,请执行以下操作: 如果不是,则使用:

  • 问题内容: 使用此代码 返回特定目录中文件夹和文件的总和,而不用关心 子目录 。我想获取目录及其子目录中所有文件的数量。 PS:返回所有文件和文件夹的总和几乎无关紧要。 任何帮助表示赞赏,谢谢 问题答案: 试试这个。 它可能会帮助您。

  • 本文向大家介绍Python列出一个文件夹及其子目录的所有文件,包括了Python列出一个文件夹及其子目录的所有文件的使用技巧和注意事项,需要的朋友参考一下 python简介 Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。 Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。 像Perl语言一样, Python 源代码同样遵循 G

  • rank ▲ ✰ vote url 39 502 134 633 url 在Python中列出目录中的所有文件 怎么样用Python列出一个目录的所有文件并且存进一个列表? os.listdir()可以获得一个目录中所有文件或者子目录. 如果你只想要文件的话,你也可以用os.path把其他的过滤掉: from os import listdir from os.path import isfile

  • 问题内容: 我已经看到了 列出目录中所有文件的 函数,但是我又如何也可以列出 子目录 中的所有文件,因此它会 返回一个数组 ? 所以 类似于 问题答案: foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(‘.’)) as $filename) { // filter out “.” and “..” if (