Hue上的Oozie如何构建工作流和定时任务
来源:互联网 发布:网络问诊浙二 编辑:程序博客网 时间:2024/04/27 17:50
Oozie是什么?
Oozie是一种Java Web应用程序,它运行在Java servlet容器——即Tomcat——中,并使用数据库来存储以下内容:
- 工作流定义
- 当前运行的工作流实例,包括实例的状态和变量
Hue是什么?
Hue是一个可快速开发和调试Hadoop生态系统各种应用的一个基于浏览器的图形化用户接口。
Hue能干什么?
1,访问HDFS和文件浏览
2,通过web调试和开发hive以及数据结果展示
3,查询solr和结果展示,报表生成
4,通过web调试和开发impala交互式SQL Query
5,spark调试和开发
6,Pig开发和调试
7,oozie任务的开发,监控,和工作流协调调度
8,Hbase数据查询和修改,数据展示
9,Hive的元数据(metastore)查询
10,MapReduce任务进度查看,日志追踪
11,创建和提交MapReduce,Streaming,Java job任务
12,Sqoop2的开发和调试
13,Zookeeper的浏览和编辑
14,数据库(MySQL,PostGres,SQlite,Oracle)的查询和展示
提交oozie定时作业
1、进入hue界面,点击workflows工作流,编辑workflows。
2、点击create创建工作流。
3、本文以hive2作业sql任务为例,拖拽hive2到action区域。
4、例子是为车次表每天定时添加指定分区,分区为动态传参传入,和脚本类似,参数取值用${}包围。具体sql如下:
CREATE TABLE if NOT EXISTS dw_serv_checi_query_day (user_id string,railway_no string,start_station string ) PARTITIONED BY (dt STRING)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;ALTER TABLE dw_serv_checi_query_day ADD PARTITION (dt = ${partdt});
保存为addpart.sql,上传hdfs,通过hue上传很方便。选中上传的文件,要给出参数值,不能省略,否自运行时${}讲不会被转义。这里值依然用${}包围,是因为具体值会在Coordinator中传入。保存workflow。
5、创建coordinator
选择刚才创建的workflows,选择定时时间,可以选择每日,每周,每月等等,选择任务有效期,最后要给出之前参数的值,这里的值是代表前一天的日期,oozie有一些内置的常量。保存提交,OK,定时任务完成了。
这样就会在每天凌晨一点钟给车次表添加一个分区,分区值为前一天的日期,运行状态如下图
oozie常用的系统常量
例如,昨天的日期就可以写为昨天日期 ${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyyMMdd')}
问题与解决办法
oozie会存在时区问题,默认会与中国时间会相差8个小时,这就需要oozie的时区,我使用的是cdh,所以设置很方便,进入cm的管理界面,进入oozie的设置,添加配置:
保存,重启,问题解决!
- Hue上的Oozie如何构建工作流和定时任务
- Hue上的Oozie如何构建工作流和定时任务
- 通过hue提交oozie定时任务
- 工作流引擎 Oozie 安装 结合HUE使用
- ubuntu上基于HUE 4.0的环境构建和使用
- Oozie分布式任务的工作流——Sqoop篇
- Oozie分布式任务的工作流——Spark篇
- Oozie分布式任务的工作流——Sqoop篇
- Bug死磕之hue集成的oozie+pig出现资源任务死锁问题
- Oozie 定时任务 细节问题
- hadoop上的工作流调度——oozie
- 可能导致Oozie定时任务执行不准确的问题
- cloudera hue安装及Oozie的安装
- oozie 编程方式的工作流
- 查询oozie的任务
- Oozie配置Hue
- hue与oozie集成
- hue中使用oozie的workflow执行mr
- 学习AngularJs:Directive指令用法(完整版)
- find file with find ,locate which whereis
- Java 读取.properties中文乱码
- MS SQL 使用OpenDataSource连接excel 问题解决
- Spark性能相关参数配置及原理
- Hue上的Oozie如何构建工作流和定时任务
- 复制android studio ctrl+F1警告提示的内容
- JEECMSv8安装部署图文教程
- TensorFlow
- 242. Valid Anagram
- ML方面的一些会议和论文查找网址
- MFC中如何定义全局变量
- 51Nod 1049 最大子段和
- leetcode#461. Hamming Distance