使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度
在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出现人为修改历史数据的情况。当出现第一和第二种情况的时候需要对数仓各层使用到该数据源的表及依赖这些表的数据模型和表的出现问题时间起的分区都重跑一遍,出现第三种情况的时候需要从ods层(数据同步导入层)及以上的各层都重跑一遍。重跑历史分区的操作是比较麻烦的,如果只是把相应的表的workflow一天天的分区重新运行的话费时费力,那么有没有更智能一点的方法呢?我们可以通过oozie的workflow的定时任务配置Coordinator来实现。
1.第一步,在需要重跑的表和数据模型的workflow的页面上点击“计划”配置按钮进入coordinator设置页面

2.第二步,在coordinator页面需要配置四个地方的参数,它们分别是:a.运行时频 b.重跑历史分区时间段 c.时区 d.脚本参数
(1)运行时频,视频可以是 小时/日/周/月/年 最常用的的日,因为数仓一般都是以日期作为分区字段
(2)时间区间和时区,时间区间是需要重跑的时间范围(注意如果开始时间第一天也要重跑的话后面的时间应该设为比时频里的早),时区需要选择Asia/Shanghai一项
(3)脚本参数是数据模型和报表脚本中使用到的需要由系统提供的参数

3.第三步,点击右上角的“保存”和“提交”按钮

点击提交后会弹出一个提交My Coordinator的对话框,这里需要把原start_date和end_date里的Z改为+0800,改好后点击提交


4.第四步,提交后就可以在Coordinator中看到各历史分区的workflow会依次执行,并提示成功或失败


使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度的更多相关文章
- 在HUE中将文本格式的数据导入hive数仓中
今天有一个需求需要将一份文档形式的hft与fdd的城市关系关系的数据导入到hive数仓中,之前没有在hue中进行这项操作(上家都是通过xshell登录堡垒机直接连服务器进行操作的),特此记录一下. - ...
- Hive 数仓中常见的日期转换操作
(1)Hive 数仓中一些常用的dt与日期的转换操作 下面总结了自己工作中经常用到的一些日期转换,这类日期转换经常用于报表的时间粒度和统计周期的控制中 日期变换: (1)dt转日期 to_date(f ...
- solr与.net系列课程(八)solr中重跑索引的注意事项
solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来 ...
- solr中重跑索引
solr与.net系列课程(八)solr中重跑索引的注意事项 solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务 ...
- Airflow 重跑dag中部分失败的任务
重跑dag中部分失败的任务 例如 dagA 中, T1 >> T2 >> T3 >> T4 >> T5 ,其中 T1 T2 成功, T3 失败, T4 ...
- 【转载】扩展Robot Framework,实现失败用例自动再执行(失败重跑)
使用自动化脚本进行测试,经常受环境影响等各方面导致本能成功的脚本失败,下面介绍了RFS框架下,失败重跑的方法: 通过改写RobotFramework源代码增加--retry选项,实现test级别的失败 ...
- 如何解决testng执行用例失败自动重跑问题
注: 以下内容引自 http://blog.csdn.net/MenofGod/article/details/72846649 看过几个相关问题的帖子,内容类似,不过这篇解决问题的步骤和代码比较清晰 ...
- testng增加失败重跑机制
注: 以下内容引自 http://www.yeetrack.com/?p=1015 testng增加失败重跑机制 Posted on 2014 年 10 月 31 日 使用Testng框架搭建自动测试 ...
- testng优化:失败重跑,extentReport+appium用例失败截图,测试报告发邮件
生成的单html方便jenkins集成发邮件,= = 构建失败发邮件 参考:https://blog.csdn.net/galen2016/article/details/77975965 步骤: 1 ...
随机推荐
- 【F12】谷歌浏览器--前台效果可以在不访问服务器的前提下直接改样式看效果是否是预期值。
F12-前台效果可以在不访问服务器的前提下直接改样式看效果是否是预期值. 1.Element---页面所有元素,通过它可以做selenium的元素定位,删除页面元素,增加页面属性(通过增加页面属性便于 ...
- Spring事务管理详解_基本原理_事务管理方式
1. 事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,使用JDBC的事务管理机制,就是利用java.sql.Connection对象完成对事务的提交,那在没有Spring帮我们管理事 ...
- MySQL 5.6 Index Condition Pushdown
ICP(index condition pushdown)是mysql利用索引(二级索引)元组和筛字段在索引中的where条件从表中提取数据记录的一种优化操作.ICP的思想是:存储引擎在访问索引的时候 ...
- Mysql索引基础原理
索引的概念 索引是特殊数据结构: 定义在查找时作为查找条件的字段 索引实现在存储引擎 功能: 1.约束数据 2.加速查询 优点: 索引可以降低服务需要扫描的数据量,减少了IO次数 索引可以帮助服务器 ...
- Redis入门到高可用(六)—— 字符串
一.结构和命令 1.字符串键值结构 key是字符串,value可以是字符串.数字.二进制.json等: redis的key和string类型value限制均为512MB. 2.使用场景 ♦️ 缓存 ♦ ...
- 万恶之源 - Python生成器
生成器 首先我们来看看什么是个生成器,生成器本质就是迭代器 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 首先,我们先 ...
- echarts 实现tooltip双栏效果
实现效果如下: 代码: //option tooltip: { trigger: 'axis', axisPointer: { label: { show: true, fontSize: 15 } ...
- [js]Object.defineProperty等几个js特殊方法
Object.defineProperty var obj = { test: "hello" }; obj['favor'] = 'orange'; //对象已有的属性添加特性描 ...
- MYSQL: set names utf8是什么意思?
set names utf8 是用于设置编码,可以再在建数据库的时候设置,也可以在创建表的时候设置,或只是对部分字段进行设置,而且在设置编码的时候,这些地方最好是一致的,这样能最大程度上避免数据记录出 ...
- spring boot+logback+JdbcTemplate打印sql日志
项目中使用的JdbcTemplate直接在service中执行sql语句,配置如下: 使用IDEA创建的项目自带 main/resource 中自带logback.xml 配置文件,添加以下日志配置, ...