Hadoop 利用 ToolRunner 运行 MapReduce

Posted @SmartSi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop 利用 ToolRunner 运行 MapReduce相关的知识,希望对你有一定的参考价值。

大多数人通常使用通过静态 main 方法执行驱动程序代码创建他们的 MapReduce 作业。这种实现的缺点是大多数特定的配置(如果有的话)通常都是硬编码的(例如:设置 Reducer 的个数)。如果需要随时修改一些配置属性(例如:修改 Reducer 数量),就必须修改代码,然后重新构建你的 JAR 文件并重新部署应用程序。这种方式很浪费时间。这可以通过在 MapReduce 驱动程序代码中实现 Tool 接口来避免。

通过实现 Tool 接口并扩展 Configured 类,你可以通过 GenericOptionsParser 轻松的在命令行界面设置 Hadoop 配置对象。这使得你的代码更加具有可移植性(并且更加简洁),因为你不需要再对任何特定配置进行硬编码或者从传入的参数中解析。下面具体看一下使用和不使用 Tool 接口的区别。

1. 使用 Tool 接口

为了简化命令行运行作业,Hadoop 自带了一些辅助类。GenericOptionsParser 是一个类,用来解释常用的 Hadoop 命令行选项。一般情况下,不会直接使用 GenericOptionsParser,而是使用更方便的方式:实现 Tool 接口,通过 ToolRunner 来运行应用程序。

public class WordCountV2 extends Configured 

以上是关于Hadoop 利用 ToolRunner 运行 MapReduce的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop 系统性学习笔记系列

Hadoop 系统性学习笔记系列

Hadoop 系统性学习笔记系列

远程执行 Hadoop 作业时,reduce 阶段出现异常

hadoop清理某个分区的数据

利用Hadoop自带example实现wordCount