在oozie工作流中使用hbase表快照

kmynzznz  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(402)

我试图在oozie上运行一个mapreduce作业,它将hbase表快照作为输入。目前,我能够做到这一点(不使用oozie工作流)使用 org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil 这给了我一个方法 initTableSnapshotMapperJob() .
在oozie中是否有类似的选项,我可以将hbase snapshot指定为map reduce作业的输入。如果没有,还有什么选择?

rqqzpn5f

rqqzpn5f1#

我不认为你能用oozie mapreduce动作做到这一点。也许,您可以使用java操作。但是,使用java操作,您需要为mapreduce工作编写一个驱动程序。
根据我使用oozie的经验,mapreduce操作除了基本的东西之外还有很多限制。例如:oozie不支持chainmapper和chainreducer。

ckx4rj1h

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

相关问题