Oozie基于Hue全流程调度
目录
准备
创建工作流
定时调度
Bundle
准备
1. 数仓流程说明
业务数仓整个流程大致分为六个阶段,每个阶段都依赖于上阶段的计算结果,所以必须要上阶段执行完成再执行下一阶段:
大致流程:
MySQL -> HDFS -> ODS -> DWD -> DWS -> ADS -> MySQL
具体流程:
1. MySQL业务通过Sqoop数据导入HDFS
2. 将HDFS数据导入Hive数仓ODS层
3. 将ODS数据简单清洗写入DWD层
4. 将DWD数据轻度汇总写入DWS层宽表
5. 将DWS层数据统计结果写入ADS层
6. 将ADS层数据通过Sqoop导出到MySQL汇总表
2. 脚本
提前已经把各部分任务写成shell脚本。
对应流程:
sqoop_import -> ods_db -> dwd_db -> dws_db -> ads_db -> sqoop_export
上传shell脚本到HDFS,自己指定位置即可
sudo -uhdfs hadoop fs -put /bin/oozie/* /user/bin/oozie/
3. JDBC
因为调度中需要使用sqoop导入导出MySQL,所以先将MySQL驱动mysql-connector-java-5.1.47.jar复制到hadoop、sqoop、
以及Oozie的HDFS目录下sqoop中,lib_20181213173721,这个是Oozie搭建时生成,各不相同
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/hadoop/lib
cp jdbc.jar /opt/cloudera/parcels/CDH/lib/sqoop/lib
sudo -uhdfs hadoop fs -put jdbc.jar /user/oozie/share/lib/lib_20181213173721/sqoop
创建工作流
1. 创建工作流
2. 编辑工作流
选择Action操作,修改好调度任务名和描述。大多数情况下,我们会把要执行的任务写成脚本执行。这里就选择shell,直接把要执行的任务类型拖拽到下面指定的区域。
3. 上传脚本
从第一步开始,sqoop_import.sh
4. 添加文件
就是刚才选择的脚本
5. 填写参数
脚本里需要的参数,尽量设置为动态自动获取,如 ${date}
第一步的参数是所有文件和当天日期,后面的只需要日期,最后一步是导出所有结果,相应填入
6. 依次添加后续任务
添加文件和设置相应参数
7. 保存,或者运行
8. 状态提示
运行后会有状态提示页面,可以看到任务进度
9. 其他
查看已经存在的调度任务
点击调度任务的页面情况
定时调度
1. 创建定时计划(schedule)
2. 修改属性
修改定时任务名和描述
3. 添加任务
添加需要定时调度的任务
4. 设置调度时间
5. Crontab高级语法模式
6. 参数设置
sm-workflow的参数都是写死的,没有设置动态,这里的下拉列表就不会有可选项。
设置参数
将sm-workflow的日期修改为 ${do_date},保存
进入定时计划sm-dw中,会看到有参数 do_date
填入相应参数,前一天日期
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, ‘DAY’), ‘yyyyMMdd’)}
Oozie常用系统常量
当然,也可以通过这样将参数传入workflow任务中,代码或者shell中需要的参数。
如,修改sm-workflow 中的 sqoop_import.sh,添加一个参数 ${num}。
编辑文件(需要登陆Hue的用户有对HDFS操作的权限),修改shell中的一个值为参数,保存。
在workflow中,编辑添加参数 ${num} ,或者num=${num} 保存。
进入schedule中,可以看到添加的参数,编辑输入相应参数即可。
Bundle
Bundle统一管理所有定时调度,阶段划分:Bundle > Schedule > workflow
Oozie基于Hue全流程调度相关推荐
- 离线数仓搭建_16_Azkaban全流程调度
文章目录 17.0 全流程调度 17.1 Azkaban部署 17.2 创建MySQL数据库和表 17.3 Sqoop导出脚本 17.4 全调度流程 17.4.1 数据准备 17.4.2 编写Azka ...
- 全流程调度——Azkaban入门与进阶
Azkaban是专门用于数仓中批处理流程的定时调度工具. 常见工作流调度系统 1)简单的任务调度:直接使用Linux的Crontab来定义: 2)复杂的任务调度:开发调度平台或使用现成的开源调度系统, ...
- cesium 加载bim模型_构建统一CIM数字底盘,实现基于BIM的全流程管控
▲点击关注,收获更多GIS精彩 2009年,SuperMap发布了首款二三维一体化GIS软件,首次提出了二三维一体化GIS技术.随后,二三维一体化的应用系统不断涌现,二三维一体化技术逐步成为三维GIS ...
- 基于神策用户画像,在线教育企业线索标签体系搭建及培育全流程解析
作者介绍:TigerHu,环球网校大数据营销产品 leader,主导数据产品线和营销 CRM 产品线. 本文内容均从作者真实实践过程出发,结合作者公司与神策数据合作真实场景,从神策用户画像产品出发,全 ...
- 基于Jenkins的开发测试全流程持续集成实践
今年上半年一直在公司实践CI,本文将上半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续下半年还会深入实践和引入Kuberne ...
- ML之LoR:基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以toad框架全流程讲解
ML之LoR:基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以toad框架全流程讲解 目录 基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以to ...
- 超详细基于Qt平台实现C/C++调用Matlab函数全流程
超详细基于Qt平台实现C/C++调用Matlab函数全流程 1. 基本调用方式介绍 2. 环境配置 3. 将Matlab程序写成函数形式 4. Matlab配置C编译器,将.m文件转换成动态链接库 4 ...
- 基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用
Meta分析是针对某一科研问题,根据明确的搜索策略.选择筛选文献标准.采用严格的评价方法,对来源不同的研究成果进行收集.合并及定量统计分析的方法,最早出现于"循证医学",现已广泛应 ...
- 基于Titanic数据集的数据分析处理及乘客生还率预测全流程教程
基于Titanic数据集的数据分析处理及乘客生还率预测全流程教程 0.项目介绍 1.使用数据集 2.数据的基本统计分析 3.数据的属性探查 4.数据预处理 5.数据的相关性分析 6.特征工程 7.数据 ...
最新文章
- 抽取文档主题之sklearn实现
- 业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine
- html怎么写三段平行文本,试论实用文体翻译中平行文本的使用
- angular 与 highcharts 结合使用
- nginx做正向代理
- ssms 缺少索引信息_MySQL3:索引
- 索引中丢失 IN 或 OUT 参数
- jquery的ajax,请求JSON数据。
- 学霸系统计算机天才,小欢喜:开局获得学霸系统
- 原根(详解+代码实现+例题+快速求解一个数的原根)
- 如何将微商管理模式流程化
- DB2 SQLCODE: -407, SQLSTATE: 23502
- 软件工程中需要学习和掌握的软件都有哪些_高三孩子:你想学软件工程,要先知道这些...
- 服务器部署文档模板,完整word版)部署文档模板
- Python调用图灵机器人
- B2C是什么意思?什么是B2C
- 大专生三面蚂蚁金服,工信部java工程师证书
- MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧
- Segger RTT深度使用说明-移植-Jlink rtt viewer显示-输出到Secure CRT
- python学习No7