Mapper和Reducer可以放在不同的罐子里

时间:2014-01-28 12:50:48

标签: hadoop mapreduce

在MapReduce作业中,我理解Job runner类本身可能驻留在一个独立的jar中,而不是mapper和reducer(check this answer) 并且setJarByClass是我传递的单独jar信息的工作地点。 但是,有没有办法让mapper和reducer各自放在它自己独立的jar中?

10倍!

1 个答案:

答案 0 :(得分:1)

是的,可以将Mapper和Reducer放在单独的JAR中。

我过去所做的就是:

  1. 在HADOOP_CLASSPATH环境变量上放置包含Mapper和Reducer的必需JARS
  2. 如果Mapper / Reducer未包含在Driver JAR中,则使用Hadoop ToolRunner通过-libjars选项将包含Mapper和Reducer的JARS提供给Hadoop分布式缓存。
  3. 使用适当的Java ClassLoader手动将Mapper和Reducer类加载到运行时类路径