从外面的hadoop访问hdfs

Jor*_*ris 3 hadoop mapreduce hdfs

我想使用存储在HDFS中的输入文件在hadoop之外运行一些可执行文件(但在同一个集群上).

这些文件是否需要本地复制到节点?或者有没有办法在hadoop之外访问HDFS?

关于如何做到这一点的任何其他建议都很好.不幸的是,我的可执行文件无法在hadoop中运行.

谢谢!

Don*_*ner 5

有几种典型的方式:

  • 如果您使用Java编写程序,则可以通过HDFS Java API访问HDFS文件.你可能正在寻找开放.这将为您提供一个像通用打开文件一样的流.
  • 如果您的程序通过stdin获取输入,则可以使用hadoop cat流式传输数据:hadoop fs -cat /path/to/file/part-r-* | myprogram.pl.您可以假设使用此命令行命令创建一个桥,例如popen.