2-10 就业课(2.0)-oozie:5通过oozie执行hive的任务

Posted mediocreworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-10 就业课(2.0)-oozie:5通过oozie执行hive的任务相关的知识,希望对你有一定的参考价值。

4.2、使用oozie调度我们的hive

第一步:拷贝hive的案例模板

cd /export/servers/oozie-4.1.0-cdh5.14.0

cp -ra examples/apps/hive2/ oozie_works/

 

第二步:编辑hive模板

这里使用的是hiveserver2来进行提交任务,需要注意我们要将hiveserver2的服务给启动起来:

nohup hive --service metastore &

nohup hive --service hiveserver2 &

 

修改job.properties

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works/hive2

vim job.properties

nameNode=hdfs://node01:8020

jobTracker=node01:8032

queueName=default

jdbcURL=jdbc:hive2://node03:10000/default

examplesRoot=oozie_works

 

oozie.use.system.libpath=true

# 配置我们文件上传到hdfs的保存路径 实际上就是在hdfs 的/user/root/oozie_works/hive2这个路径下

oozie.wf.application.path=$nameNode/user/$user.name/$examplesRoot/hive2

 

修改workflow.xml

vim workflow.xml

<?xml version="1.0" encoding="UTF-8"?>

<workflow-app xmlns="uri:oozie:workflow:0.5" name="hive2-wf">

    <start to="hive2-node"/>

 

    <action name="hive2-node">

        <hive2 xmlns="uri:oozie:hive2-action:0.1">

            <job-tracker>$jobTracker</job-tracker>

            <name-node>$nameNode</name-node>

            <prepare>

                <delete path="$nameNode/user/$wf:user()/$examplesRoot/output-data/hive2"/>

                <mkdir path="$nameNode/user/$wf:user()/$examplesRoot/output-data"/>

            </prepare>

            <configuration>

                <property>

                    <name>mapred.job.queue.name</name>

                    <value>$queueName</value>

                </property>

            </configuration>

            <jdbc-url>$jdbcURL</jdbc-url>

            <script>script.q</script>

            <param>INPUT=/user/$wf:user()/$examplesRoot/input-data/table</param>

            <param>OUTPUT=/user/$wf:user()/$examplesRoot/output-data/hive2</param>

        </hive2>

        <ok to="end"/>

        <error to="fail"/>

    </action>

 

    <kill name="fail">

        <message>Hive2 (Beeline) action failed, error message[$wf:errorMessage(wf:lastErrorNode())]</message>

    </kill>

    <end name="end"/>

</workflow-app>

 

编辑hivesql文件

vim script.q

DROP TABLE IF EXISTS test;

CREATE EXTERNAL TABLE test (a INT) STORED AS TEXTFILE LOCATION ‘$INPUT‘;

insert into test values(10);

insert into test values(20);

insert into test values(30);

第三步:上传工作文件到hdfs

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie_works

hdfs dfs -put hive2/ /user/root/oozie_works/

第四步:执行oozie的调度

cd /export/servers/oozie-4.1.0-cdh5.14.0

bin/oozie job -oozie http://node03:11000/oozie -config oozie_works/hive2/job.properties  -run

第五步:查看调度结果

 

以上是关于2-10 就业课(2.0)-oozie:5通过oozie执行hive的任务的主要内容,如果未能解决你的问题,请参考以下文章

转Oozie4.2.0配置安装实战

OO先导课——JAVA初见懵的知识合集

HDP 2.0 Oozie 错误:E0803:E0803:IO 错误,E0603

需要 spark-assembly-1.5.2.-hadoop2.7.jar 用于 HDP 2.3.2 上的 Spark -Oozie 工作流

Oozie Sqoop 作业 - 无法恢复作业

OO第5到7次作业总结