Hadoop 在Oozie工作流中使用HBase表快照

Hadoop 在Oozie工作流中使用HBase表快照,hadoop,mapreduce,hbase,oozie,hadoop2,Hadoop,Mapreduce,Hbase,Oozie,Hadoop2,我试图在oozie上运行MapReduce作业,该作业将HBase表快照作为其输入。目前,我可以使用org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil(它为我提供了initTableSnapshotMapperJob方法)而不使用oozie工作流来完成此任务 在oozie中是否有类似的选项,我可以将HBase快照指定为map reduce作业的输入。如果没有,还有什么其他选择?我不认为您可以通过oozie MapReduce操作实现这一点。也

我试图在oozie上运行MapReduce作业,该作业将HBase表快照作为其输入。目前,我可以使用org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil(它为我提供了initTableSnapshotMapperJob方法)而不使用oozie工作流来完成此任务


在oozie中是否有类似的选项,我可以将HBase快照指定为map reduce作业的输入。如果没有,还有什么其他选择?

我不认为您可以通过oozie MapReduce操作实现这一点。也许,您可以使用Java操作。但是,使用Java操作,您需要为MapReduce工作编写驱动程序。
根据我使用Oozie的经验,MapReduce操作除了基本内容之外还有很多限制。例如:Oozie不支持ChainMapper和ChainReducer。

您可以使用Uber jar进行此操作。Oozie允许直接调度uber JAR,无需配置映射器和减速器:

<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