Oozie调用hive案例——Oozie4.3.1

@羲凡——只为了更好的活着

Oozie调用hive案例——Oozie4.3.1

oozie调用hive准备三个文件 job.propertiesscript.qworkflow.xml

1.job.properties
# 当你配置了dfs高可用,fs.defaultFS参数对应的名字,
# 否者写hdfs://deptest1:8020或者hdfs://deptest1:9000
nameNode=hdfs://ns
# 当你配置的是高可用的yarn,yarn.resourcemanager.cluster-id参数对应的名字
# 否者写deptest2:8032
jobTracker=rmcluster
# 任务所用的队列,根据自己公司情况写,这里我选着默认
queueName=default
# examplesRoot这个名字最好不要改,有时会出错,切记!
examplesRoot=aarontest/oozie/hive
# oozie能使用hdfs上系统lib目录
oozie.use.system.libpath=true
script=${nameNode}/${examplesRoot}/script.q
oozie.wf.application.path=${nameNode}/${examplesRoot}/workflow.xml
outputpath=/aarontest/data/oozie/hive
2.script.q
# 查询一个表并写出到hdfs上OUTPUT文件夹下
INSERT OVERWRITE DIRECTORY '${OUTPUT}' SELECT * FROM aarontest.staff;
3.workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.2" name="hive-wf">
    <start to="hive-node"/>

    <action name="hive-node">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <!-- 将hive的hive-site.xml文件上传到hdfs上让oozie任务能读取到 -->
	    	<job-xml>${nameNode}/hive/hive-site.xml</job-xml>
            <!--prepare>
                <delete path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/hive"/>
                <mkdir path="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data"/>
            </prepare-->
            <configuration>
                <property>
                	<name>mapred.job.queue.name</name>
                	<value>${queueName}</value>
                </property>
                <!-- hive元数据的url -->
				<property>
                	<name>hive.metastore.uris</name>
                	<value>thrift://deptest20:9083</value>
                </property>
            </configuration>
            <script>script.q</script>
            <param>OUTPUT=${outputpath}</param>
        </hive>
        <ok to="end"/>
        <error to="fail"/>
    </action>

    <kill name="fail">
        <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>
4.提交
# 将文件上传到hdfs上(job.properties中examplesRoot的路径)
hdfs dfs -put hive/ aarontest/oozie/
# 启动oozie任务
oozie job -oozie http://deptest45:11000/oozie -config job.properties -run

-oozie 指定oozie地址
-config 指定任务的配置参数

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值