我试图在oozie上运行一个mapreduce作业,它将hbase表快照作为输入。目前,我能够做到这一点(不使用oozie工作流)使用 org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil 这给了我一个方法 initTableSnapshotMapperJob() .在oozie中是否有类似的选项,我可以将hbase snapshot指定为map reduce作业的输入。如果没有,还有什么选择?
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil
initTableSnapshotMapperJob()
rqqzpn5f1#
我不认为你能用oozie mapreduce动作做到这一点。也许,您可以使用java操作。但是,使用java操作,您需要为mapreduce工作编写一个驱动程序。根据我使用oozie的经验,mapreduce操作除了基本的东西之外还有很多限制。例如:oozie不支持chainmapper和chainreducer。
ckx4rj1h2#
你可以用uberjar来做这个。oozie允许直接调度uber JAR,而无需配置mapper和reducer:
<action name="mr-node"> <map-reduce> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</name-node> <configuration> <property> <name>oozie.mapreduce.uber.jar</name> <value>${nameNode}/user/${wf:user()}/my-uber-jar.jar</value> </property> </configuration> </map-reduce> <ok to="end"/> <error to="fail"/> </action>
在执行此操作之前,请确保在oozie-site.xml中将oozie.action.mapreduce.uber.jar.enable属性设置为true
2条答案
按热度按时间rqqzpn5f1#
我不认为你能用oozie mapreduce动作做到这一点。也许,您可以使用java操作。但是,使用java操作,您需要为mapreduce工作编写一个驱动程序。
根据我使用oozie的经验,mapreduce操作除了基本的东西之外还有很多限制。例如:oozie不支持chainmapper和chainreducer。
ckx4rj1h2#
你可以用uberjar来做这个。oozie允许直接调度uber JAR,而无需配置mapper和reducer:
在执行此操作之前,请确保在oozie-site.xml中将oozie.action.mapreduce.uber.jar.enable属性设置为true