[发明专利]一种基于ETL进行数据仓库各层数据表汇总的自动触发方法有效
申请号: | 202011294964.3 | 申请日: | 2020-11-18 |
公开(公告)号: | CN112380218B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 杨凯杰 | 申请(专利权)人: | 浪潮通信信息系统有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25;G06F16/28 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250000 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 etl 进行 数据仓库 数据表 汇总 自动 触发 方法 | ||
1.一种基于ETL进行数据仓库各层数据表汇总的自动触发方法,其特征在于,该方法基于Hdp大数据集群环境以及基于NIFI的定制开发功能实现的NIFI ETL任务的依赖触发能力,在Hdp大数据集群的Hive数据仓库上进行数据仓库的建模:包括ODS层、DWD层和DWS层和DM层;
通过ETL工具NIFI对电信网元产生的数据文件进行采集入库到大数据平台HIVE,HIVE可以将结构化文件映射为HIVE的一张表,这些原始文件映射的多张表都存储在HIVE的ODS层;
ODS层采集任务执行完成后,根据配置的触发条件触发DWD层数据的汇总任务执行,这一层汇总对数据进行清洗转换等操作形成原始明细数据的存储层;
根据一个或多个DWD层的汇总任务执行结果情况可以触发DWS层汇总任务的计算汇总,这一层汇总的结果对明细数据按维度进行汇总,为上层应用尽可能多的提供服务项,用于提供后续的业务查询和OLAP分析,
最后一层DM层的汇总数据供前台应用进行数据的查询,通过rowkey提供小数据量的数据即席查询服务;
数据是电信行业的结构化的B域数据,包括三户信息数据、客户使用电信业务产生的用量信息、由此产生的计费信息;
所述DM层的汇总数据存储在HBASE中;
基于NIFI定制开发的NIFI任务的依赖触发流程,实现方式如下:
首先NIFI有Flow的配置页面,可以进行NIFI的任务配置以实现完成特定的任务;
其次,NIFI还有一个Stream的配置页面,可以进行NIFI Flow任务间的依赖触发关系的配置;每个Flow任务包含一个Startpoint节点和一个Endpoint节点,其中Startpoint周期性轮询或者按配置的Crontab表达式配置的时间进行执行,执行首先判断该任务是否应该执行,
对于Startpoint有两种情况,在A触发B的情况下,则针对A任务的情况下,A任务的Startpoint节点是按周期进行定时执行的,之后触发后续业务组件进行业务处理,针对B任务执行的情况,B任务的Startpoint节点会首先按配置的执行时间进行执行,执行时首先进行依赖任务执行情况的判断,及判断A任务执行结果是否满足B任务触发条件,如果满足则Startpoint节点触发后续任务节点进行业务处理,否则Startpoint节点不会触发后续任务节点;
通过Startpoint节点来配置任务的执行时间和配置任务的执行粒度信息;在Stream任务配置完成进行保存时会对强弱依赖关系进行校验,在存在一任务触发多任务情况下,会提示需要配置弱依赖关系,其选择权在用户,用户根据实际的业务场景选择重复触发后续任务、只触发一次后续任务和不触发后续任务。
2.根据权利要求1所述的一种基于ETL进行数据仓库各层数据表汇总的自动触发方法,其特征在于,该方法可以灵活配置NIFI任务间的依赖触发关系,包括:
A任务触发B任务执行;
A任务且B任务触发C任务执行;
A任务或B任务触发C任务执行;
A任务且B任务触发C任务的同时,A任务C任务触发D任务,A任务、B任务、C任务都可以选择是强依赖关系还是弱依赖关系。
3.根据权利要求1所述的一种基于ETL进行数据仓库各层数据表汇总的自动触发方法,其特征在于,根据Stream的配置的依赖触发关系,可以实现:
NIFI任务的依赖触发,及采集任务执行完成后,可以触发后续的汇总任务、汇总任务执行完成后可以再触发后续的汇总任务;
当采集任务重跑时,可以重复触发后续的所有任务,满足实际的业务需求;
整个依赖关系的任一环节任务重跑都会触发后续所有相关任务的重复执行。
4.根据权利要求1所述的一种基于ETL进行数据仓库各层数据表汇总的自动触发方法,其特征在于,在重跑的场景下,触发任务的重复执行既不能多次触发也不能不触发,在Stream配置依赖触发关系界面添加了强依赖关系和弱依赖关系选项,强依赖关系是指该任务的执行条件只是满足一次就会触发后续任务一次,弱依赖关系则是指只有在第一次触发后续任务时,该依赖条件才起作用,如果第二次触发后续任务,则该任务执行记录被忽略;
针对重跑场景,实现如下配置:
A1:根据相互依赖关系,针对一个任务触发多个任务的情况,可以选择都为强依赖关系,则结果为出现重复触发;
A2:根据相互依赖关系,只选择一个为强依赖关系、另一个选择为弱依赖关系,则不会产生重复触发的场景;
A3:根据相互依赖关系,都选择为弱依赖关系,则结果为不触发后续任务执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通信信息系统有限公司,未经浪潮通信信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011294964.3/1.html,转载请声明来源钻瓜专利网。