【问题标题】:I want to read a file which is on hdfs我想读取一个在 hdfs 上的文件
【发布时间】:2014-03-21 08:41:01
【问题描述】:

我尝试将路径指定为“hdfs://localhost:9000/path to file”,但仍然无法正常工作。还有其他读取文件的方法吗? 我想在程序中给出文件路径,但不是作为终端上的参数......

【问题讨论】:

  • 您能否提供更多信息?你是如何尝试阅读的?你遇到了什么错误?请稍微改进一下问题,让其他人知道实际发生了什么。
  • 我的 Wordcount 程序输出位于 hdfs 上名为 psap.txt 的文件中,其路径为 user/hduser/ppp,我想读取该文件.....
  • 如何你想读取那个文件?任何代码都会有帮助
  • 这可能会有所帮助:bigdataspeak.com/2013/05/…

标签: java hadoop


【解决方案1】:

如果您启用了 WebHDFS(在 hdfs-site.xml 中将 dfs.webhdfs.enabled 设置为 true),那么您可以通过简单的 REST 调用访问该文件。许多客户端库可以直接打开 HTTP URI。

对于 Java,请遵循 Open stream from uri 中的示例,并使用 WebHDFS REST API 文档中的示例为您的文件构建 URI。例如,我可以使用以下 URI 从集群上的 HDFS 打开文件:“http://namenode:50070/webhdfs/v1/sampledata/sample.log?op=OPEN

【讨论】:

    【解决方案2】:

    如果您想要的是如何使用 Java 代码读取该文件的内容,请查看我的答案:Programatically reading contents of text file stored in HDFS using Java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 2011-11-18
      • 1970-01-01
      相关资源
      最近更新 更多