从* external * Java应用程序循环读取hadoop HDFS文件

时间:2015-09-23 06:26:52

标签: java hadoop hdfs

我有大量基于HDFS的相对较大的文本文件(每个90-150 MB)。我想开发一个独立的Java应用程序,它位于之外的hadoop-cluster中,我希望能够

  1. 遍历指定的远程HDFS目录中的所有文件
  2. 阅读每个文件的内容
  3. 实现这一目标的最佳方法是什么?使用org.apache.hadoop。*包或WebHDFS或......?我们非常感谢一个简短的代码片段。

    非常感谢提前

1 个答案:

答案 0 :(得分:0)

您的用例的正确选择将使用WebHDFS api。它支持在Hadoop集群外部运行的系统,以访问和操作HDFS内容。它不需要客户端系统安装hadoop二进制文件,你可以使用CURL本身操作远程hdfs over http。

请参考,

https://hadoop.apache.org/docs/r1.2.1/webhdfs.html

http://hortonworks.com/blog/webhdfs-%E2%80%93-http-rest-access-to-hdfs/

编辑:

您可以使用以下简单的get请求对WebHdfs服务可用性进行单元测试。

http://<fqdn>:50075/webhdfs/v1/?op=GETHOMEDIRECTORY&namenoderpcaddress=<fqdn>:<port>