加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 来自HDFS Cluster的ListFiles

发布时间:2020-12-14 19:20:14 所属栏目:Java 来源:网络整理
导读:我是hadoop和东西的业余爱好者.现在,我正在尝试访问hadoop集群(HDFS)并从客户端eclipse中检索文件列表.在hadoop java客户端上设置所需的配置后,我可以执行以下操作. 我可以执行copyFromLocalFile,copyToLocalFile操作从客户端访问HDFS. 这就是我所面对的.当

我是hadoop和东西的业余爱好者.现在,我正在尝试访问hadoop集群(HDFS)并从客户端eclipse中检索文件列表.在hadoop java客户端上设置所需的配置后,我可以执行以下操作.

我可以执行copyFromLocalFile,copyToLocalFile操作从客户端访问HDFS.
这就是我所面对的.当我给出listFiles()方法时,我得到了

org.apache.hadoop.fs.LocatedFileStatus@d0085360
org.apache.hadoop.fs.LocatedFileStatus@b7aa29bf

MainMethod

Properties props = new Properties();
props.setProperty("fs.defaultFS","hdfs://

我也尝试过FileContext,最后只得到filestatus对象字符串或其他东西.当我迭代到远程hdfs目录时是否有可能获取文件名,有一个名为getPath()的方法,这是我们使用hadoop API检索文件名的完整路径的唯一方法,还是有任何其他方法这样我只能检索指定目录路径中文件的名称,请帮我解决这个问题,谢谢.

最佳答案
你确实可以使用getPath()这将返回一个Path对象,它允许你查询文件的名称.

Path p = ritr.next().getPath();
// returns the filename or directory name if directory
String name = p.getName();    

您获得的FileStatus对象可以告诉您这是文件还是目录.

这是更多的API文档:

http://hadoop.apache.org/common/docs/r1.0.0/api/org/apache/hadoop/fs/Path.html

http://hadoop.apache.org/common/docs/r1.0.0/api/org/apache/hadoop/fs/FileStatus.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读