Oozie WorkFlow中Hive Action使用讲解

简介: 笔记

第一步: 将examples目录下的hive目录拷贝到oozie-apps目录下

cp -r hive ../../oozie-apps/

第二步: 将hive命名为hive-select

mv hive hive-select

第三步: 将hive-select里面的README和workflow.xml.security文件删掉

rm -rf README workflow.xml.security

第四步: 创建lib目录

mkdir lib

第五步: 基于官方模板example,编写job.properties,内容如下:

nameNode=hdfs://bigdata-pro-m01:9000
jobTracker=bigdata-pro-m01:8032
oozieAppRoot=user/caizhengjie/oozie-apps
oozieDataRoot=user/caizhengjie/oozie-datas
queueName=default
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/${oozieAppRoot}/hive-select/workflow.xml
outputDir=hive-select/output

第六步: 在HDFS上创建数据输出的目录

bin/hdfs dfs -mkdir -p /user/caizhengjie/oozie-datas/hive-select/output

第七步: 基于官方模板example,编写workflow.xml,内容如下:

<workflow-app xmlns="uri:oozie:workflow:0.5" name="hive-wf">
    <start to="hive-node"/>
    <action name="hive-node">
        <hive xmlns="uri:oozie:hive-action:0.6">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="${nameNode}/${oozieDataRoot}/${outputDir}"/>
            </prepare>
            <job-xml>${nameNode}/${oozieAppRoot}/hive-select/hive-site.xml</job-xml>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <script>script.q</script>
            <param>OUTPUT=${nameNode}/${oozieDataRoot}/${outputDir}</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>

第八步: 拷贝mysql jar包到lib目录下

cp /opt/modules/hive/lib/mysql-connector-java-5.1.48-bin.jar .

第九步: 拷贝hive-site.xml文件到hive-select目录下

cp /opt/modules/hive/conf/hive-site.xml .

第十步: 编写script.q sql文件,内容如下:

insert overwrite directory '${OUTPUT}'  select * from db_hive.order

第十一步: 上传hive-select整个目录到hdfs上

bin/hdfs dfs -put /opt/modules/oozie/oozie-apps/hive-select/ /user/caizhengjie/oozie-apps

第十二步: 启动metastore

bin/hive --service metastore

第十三步: 运行命令测试:

bin/oozie job -oozie http://bigdata-pro-m01:11000/oozie -config oozie-apps/hive-select/job.properties -run

运行结果查看:

12.png查看hive分析出的数据

bin/hdfs dfs -text /user/caizhengjie/oozie-datas/hive-select/output/000000_0


0001cenry2018-10-09product-1350guangzhou
0002beny2018-09-09product-2180beijing
0003ben2018-09-09product-3580beijing
0004cherry2018-10-09product-4450shenzheng
0005jone2018-10-09product-530nanjing
0006lili2018-09-09product-650hangzhou
0007chen2018-10-09product-790wuhan
0008wiwi2018-09-09product-8150chengdu
相关文章
|
SQL Shell 调度
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
快速学习 Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
|
SQL 存储 Java
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记
快速学习 Apache Oozie一 实战操作一调度 hive 脚本
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记
|
SQL 数据可视化 大数据
集成 Oozie 服务&amp;调度 Hive 脚本 | 学习笔记
快速学习 集成 Oozie 服务&amp;调度 Hive 脚本
149 0
集成 Oozie 服务&amp;调度 Hive 脚本 | 学习笔记
|
6月前
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
191 1
|
6月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
254 0
|
SQL 存储 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
142 0
|
6月前
|
SQL 分布式计算 数据库
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
【大数据技术Spark】Spark SQL操作Dataframe、读写MySQL、Hive数据库实战(附源码)
259 0
|
6月前
|
SQL 存储 分布式计算
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
1079 0
|
1月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
37 0
|
4月前
|
SQL 分布式计算 大数据
大数据处理平台Hive详解
【7月更文挑战第15天】Hive作为基于Hadoop的数据仓库工具,在大数据处理和分析领域发挥着重要作用。通过提供类SQL的查询语言,Hive降低了数据处理的门槛,使得具有SQL背景的开发者可以轻松地处理大规模数据。然而,Hive也存在查询延迟高、表达能力有限等缺点,需要在实际应用中根据具体场景和需求进行选择和优化。
下一篇
无影云桌面