Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,它内部定义了三种作业:
1. 工作流作业:由一系列动作构成的有向无环图(DAGs)
2. 协调器作业:按时间频率周期性触发Oozie工作流的作业
3.Bundle作业:管理协调器作业
一、首先示例提交HiveSQL脚本- 即时执行
1.进入到hue界面,点击【Query】- 【Schedule】- 【WorkFlow】,编辑工作流WorkFlows,
点击进去后,支持的Action会有很多,如下图:
hive/spark/pig/shell/Java/MR...
2.起一个workFlow的名称
3.将hive2拖拽到指定位置
4.然后,上传存在于HDFS上的脚本文件,如果没有上传,那么可以首先上传
5.上传脚本文件:
test_workflow_query.hql的内容:
set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.max.dynamic.partitions.pernode=3000;
insert into test_workflow_query partition(h) select cast(ceil(rand()*100)as string), unix_timestamp(), cast(from_unixtime(unix_timestamp(), 'yyyy-MM-dd') as string) as h |
6.然后点击“Add”添加,接下来点击保存,点击运行,点击submit
7.查看运行状态,可以点击进去看具体的任务
8.看结果
运行前表中的数据:
运行会后表中的数据:
二、看一个结构多一点的WorkFlow过程(一个Shell脚本+Hive脚本+参数)
1.返回到WorkFlow的界面,点击编辑,把个刚刚的WorFlow重新编辑
2.添加shell脚本和另外一个hive脚本,仅实现查询
Shell脚本(test_workflow_query_sh.sh):
#!/bin/bash
|