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>
编辑hive的sql文件
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
第五步:查看调度结果
最新文章
- linux shell basic command
- logback详细配置(三)
- Oracle创建用户并赋予权限
- KVC在定义Model类中的妙用
- Cocos2d-x学习笔记(5)
- 专业的GIS(电子地图、地理信息系统)在房地产行业的初步应用?
- .NET Core 获取操作系统各种信息
- .Net Core在Centos7上初体验
- reducer 按key聚合
- shell 命令 创建/删除 软连接 ln -s
- 用Python实现大文件分割
- AtCoder Regular Contest 102 E Stop. Otherwise...
- express框架学习笔记
- boolalpha的作用
- SSM搭建一个后台管理系统
- php中$this->;是什么意思
- 实时计算DStream下求平均值(reduceByKey or combineByKey)
- js中将一个字一个字的打印出来
- 2014年第五届蓝桥杯JavaB组省赛试题解析
- delphi 登陆窗口的问题 [问题点数:30分,结帖人tianhuo_soft]
热门文章
- 阿里云oss操作
- 二分查找及几种变体的Python实现
- 关于window.location.href页面跳转的坑
- vue element 时间选择器设置禁用日期
- spring boot中的底层配置文件application.yam(application.property)的装配原理初探
- js缓慢滑块
- Codeforces Round #579 (Div. 3)D(字符串,思维)
- 安卓手机的屏幕规格很多。app开发者在设计User Interface的时候,要怎么处理,才能适应不同屏幕大小?
- c语言中“#if 0 / #if 1 ... #endif”的作用
- CSS - 去除图片img底侧空白缝隙