我开发了一个mapreduce应用程序 ToolRunner
. 根据用户传递的参数和配置属性,应用程序以某种方式设置作业:选择特定的输入/输出格式,选择Map器和缩减器类等。。这个逻辑在 run(String[] args)
方法,该方法实现 Configured
以及 Tool
.
oozie支持mapreduce操作节点,但问题是我不能将它们用于我的自定义操作 ToolRunner
应用程序。mapreduce操作只允许通过配置输入/输出格式、mapper/reducer类和key/value类来定义静态作业。我的应用程序基于更高级别的业务逻辑动态地执行此操作。
该操作应该能够执行如下命令行:
hadoop jar my.jar com.example.MyMainClass -D my.config1=a -D my.config2=b arg1 arg2
我可以创建支持 ToolRunner
mapreduce应用程序?
1条答案
按热度按时间2j4z5cfb1#
是的,您可以使用java操作。不幸的是,这并不理想,因为oozie创建了一个作业来运行
ToolRunner
它创建了自己的作业。但它确实有效。