目录

准备

创建工作流

定时调度

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全流程调度相关推荐

  1. 离线数仓搭建_16_Azkaban全流程调度

    文章目录 17.0 全流程调度 17.1 Azkaban部署 17.2 创建MySQL数据库和表 17.3 Sqoop导出脚本 17.4 全调度流程 17.4.1 数据准备 17.4.2 编写Azka ...

  2. 全流程调度——Azkaban入门与进阶

    Azkaban是专门用于数仓中批处理流程的定时调度工具. 常见工作流调度系统 1)简单的任务调度:直接使用Linux的Crontab来定义: 2)复杂的任务调度:开发调度平台或使用现成的开源调度系统, ...

  3. cesium 加载bim模型_构建统一CIM数字底盘,实现基于BIM的全流程管控

    ▲点击关注,收获更多GIS精彩 2009年,SuperMap发布了首款二三维一体化GIS软件,首次提出了二三维一体化GIS技术.随后,二三维一体化的应用系统不断涌现,二三维一体化技术逐步成为三维GIS ...

  4. 基于神策用户画像,在线教育企业线索标签体系搭建及培育全流程解析

    作者介绍:TigerHu,环球网校大数据营销产品 leader,主导数据产品线和营销 CRM 产品线. 本文内容均从作者真实实践过程出发,结合作者公司与神策数据合作真实场景,从神策用户画像产品出发,全 ...

  5. 基于Jenkins的开发测试全流程持续集成实践

    今年上半年一直在公司实践CI,本文将上半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续下半年还会深入实践和引入Kuberne ...

  6. ML之LoR:基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以toad框架全流程讲解

    ML之LoR:基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以toad框架全流程讲解 目录 基于信用卡数据集利用LoR逻辑回归算法实现如何开发通用信用风险评分卡模型之以to ...

  7. 超详细基于Qt平台实现C/C++调用Matlab函数全流程

    超详细基于Qt平台实现C/C++调用Matlab函数全流程 1. 基本调用方式介绍 2. 环境配置 3. 将Matlab程序写成函数形式 4. Matlab配置C编译器,将.m文件转换成动态链接库 4 ...

  8. 基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用

    Meta分析是针对某一科研问题,根据明确的搜索策略.选择筛选文献标准.采用严格的评价方法,对来源不同的研究成果进行收集.合并及定量统计分析的方法,最早出现于"循证医学",现已广泛应 ...

  9. 基于Titanic数据集的数据分析处理及乘客生还率预测全流程教程

    基于Titanic数据集的数据分析处理及乘客生还率预测全流程教程 0.项目介绍 1.使用数据集 2.数据的基本统计分析 3.数据的属性探查 4.数据预处理 5.数据的相关性分析 6.特征工程 7.数据 ...

最新文章

  1. 抽取文档主题之sklearn实现
  2. 业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine
  3. html怎么写三段平行文本,试论实用文体翻译中平行文本的使用
  4. angular 与 highcharts 结合使用
  5. nginx做正向代理
  6. ssms 缺少索引信息_MySQL3:索引
  7. 索引中丢失 IN 或 OUT 参数
  8. jquery的ajax,请求JSON数据。
  9. 学霸系统计算机天才,小欢喜:开局获得学霸系统
  10. 原根(详解+代码实现+例题+快速求解一个数的原根)
  11. 如何将微商管理模式流程化
  12. DB2 SQLCODE: -407, SQLSTATE: 23502
  13. 软件工程中需要学习和掌握的软件都有哪些_高三孩子:你想学软件工程,要先知道这些...
  14. 服务器部署文档模板,完整word版)部署文档模板
  15. Python调用图灵机器人
  16. B2C是什么意思?什么是B2C
  17. 大专生三面蚂蚁金服,工信部java工程师证书
  18. MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧
  19. Segger RTT深度使用说明-移植-Jlink rtt viewer显示-输出到Secure CRT
  20. python学习No7

热门文章

  1. 电阻应用电路之上下拉电阻
  2. Android中的约束布局
  3. pyqt5能否用于鸿蒙系统,PyQt显示来自opencv的视频流
  4. react ui框架_顶级React组件库推荐
  5. 日志模板html源码,HTML红色欧美形式教堂动态日志网页模板代码
  6. linux shell 脚本 2,理解Linux Shell和基本的Shell脚本(2)
  7. 未来已来 -只是尚未流行
  8. keras 多个显卡
  9. 【数据可视化应用】绘制极坐标(附Python代码)
  10. MATLAB从入门到精通-控制系统动态特性的计算以及阶跃响应波德图等