使用Java Runtime.exec()在Hadoop上运行命令

时间:2012-11-06 00:06:55

标签: hadoop mapreduce hdfs

有一个名为“袖扣”的程序,其运行如下:

cufflinks -o <output-dir>  <input-file>

该程序将1个文件作为输入,并在“output-dir”中生成4个文件作为输出。

我正在尝试使用mapper类中的Runtime.exec()在Hadoop集群上运行相同的程序。我正在设置

  

输出-DIR = /一些/路径/上/ HDFS

我原以为4个文件将作为o / p在HDFS上生成。但是,情况并非如此,HDFS上的o / p目录不包含这4个文件中的任何一个。

然后我尝试设置

  

输出-DIR = / TMP /输出/

并且有效。

任何人都可以建议为什么它不适用于HDFS?我需要做些什么才能使其在HDFS上运行?

感谢。

1 个答案:

答案 0 :(得分:4)

问题是袖扣程序应该使用内部HDFS API在HDFS中创建文件而不是常规文件操作。