hadoop cp vs使用/ bin / cat作为mapper和reducer进行流式传输

时间:2014-11-11 19:57:37

标签: hadoop

我是Hadoop的新手,如果/ bin / cat用于mapper和reducer,则有关于hadoop copy(cp)vs hadoop streaming的非常基本的问题。

hadoop -input -output -mapper / bin / cat -reducer / bin / cat

我相信上面的命令会复制文件(如何与hadoop cp不同?)或纠正我,如果我的理解是错误的。

1 个答案:

答案 0 :(得分:0)

他们以同样的方式做同样的事情:

  • hadoop cp将调用JAVA HDFS API并执行复制到另一个指定位置,这比流式解决方案更快。
  • 另一方面
  • hadoop streaming(参见下面的示例命令)将启动mapreduce作业。因此,与任何其他mapreduce工作一样,它必须经历map -> sort & shuffle -> reduce阶段,这将需要很长时间才能完成,具体取决于您的输入数据集大小。由于默认的排序& shuffle 阶段您的输入数据也会在输出目录中排序。

    hadoop jar /path/to/hadoop-streaming.jar \
    -input /input/path
    -output /output/path
    -mapper /bin/cat
    -reducer /bin/cat