全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211417468.1 (22)申请日 2022.11.14 (71)申请人 云筑信息科技 (成 都) 有限公司 地址 610000 四川省成 都市高新区天府二 街151号1栋1单 元36层 (72)发明人 于鹏  (74)专利代理 机构 成都春夏知识产权代理事务 所(特殊普通 合伙) 51317 专利代理师 夏琴 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/242(2019.01) G06F 16/28(2019.01) (54)发明名称 一种实时解决数仓模型变化响应问题的方 法 (57)摘要 本发明公开了一种实时解决数仓模型变化 响应问题的方法, 属于大数据技术领域, 包括获 取数仓模型的所有元数据表信息, 创建与每个元 数据表信息对应的Hive数据表; 监听元数据表的 二进制日志, 生成监听数据并发送至 Kafka, 通过 流处理引擎实时消费Kafka的数据并写入至对应 的Hive数据表中; 查询任 务定义表获取Hive模型 的SQL语句并解析; 基于其它Hive模型更新Hive 模型的SQL语句; 由步骤2中写入Kafka数据的 Hive数据表创建拉链表, 并基于监听数据更新拉 链表; 对所述其它Hive模型, 提供所述其它Hive 模型的变更通知信息。 本发明解决数仓模型历史 变更无法追溯问题。 权利要求书1页 说明书6页 附图1页 CN 115470217 A 2022.12.13 CN 115470217 A 1.一种实时解决数仓模型变化响应问题的方法, 其特 征在于, 包括以下步骤: 步骤1、 获取数仓模型的所有元数据表信息, 创建与每个元数据表信息对应的Hive数据 表; 步骤2、 监听元数据表的二进制日志, 生成监听数据并发送至Kafka, 通过流处理引擎实 时消费Kafka的数据并写入至对应的Hive 数据表中; 步骤3、 通过任务调度平台获取系统后台数据库, 查询任务定义表获取Hive模型的SQL 语句, 然后解析出Hiv e模型的SQL语句中包含的该Hive模 型以外的其它Hiv e模型; 当所述其 它Hive模型发生变更时, 更新Hive模型的SQ L语句; 步骤4、 基于步骤2中写入Kafka数据的Hive数据表创建拉链表, 并基于监听数据更新拉 链表; 步骤5、 对所述 其它Hive模型, 提供 所述其它Hive模型的变更通知信息 。 2.根据权利要求1所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述元数据表信息包括但不限于存储元数据表的数据库信息、 存储元数据表的名称信息、 存 储元数据 表的格式信息、 存储元数据 表的字段信息、 存储元数据 表的分区信息、 存储元数据 表的批注信息 。 3.根据权利要求1所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述Hive数据表的创建方法为: 获取对应元数据表信息的所有字段, 并获取每一个字段对应 的说明和实例数据; 在元数据表信息的所有字段中添加变更时间字段和变更类型字段, 获 取对应的变更时间数据和变更类型 数据并写入, 得到 Hive数据表。 4.根据权利要求1所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述步骤3中, 任务调度平台在设计调度任务时, 每个Hive模型设置一个加工节点任务, 将加 工节点任务中Hive模型的SQ L语句保存于任务定义表的字段中。 5.根据权利要求1所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述步骤3中, 解析采用pytho n库中的程序。 6.根据权利要求5所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述步骤3中, 在python库中输入SQL语言, python库输出与Hive模型以及Hive模型中包含的 该Hive模型以外的其它Hive模型。 7.根据权利要求1所述的一种实时解决数仓模型变化响应问题的方法, 其特征在于, 所 述步骤4包括: 将写入 Kafka数据的Hive数据 表增加生效时间字段和失效时间字段并创建拉 链表, 然后将Hive数据表对应的元数据表信息写入对应的拉链表中并初始化, 最后基于监 听数据每日更新拉链 表。权 利 要 求 书 1/1 页 2 CN 115470217 A 2一种实时解决数仓模型变化响应问题的方 法 技术领域 [0001]本发明属于大数据技术领域, 具体涉及一种实时解决数仓模型变化响应问题的方 法。 背景技术 [0002]现在很多企业都在进行数字化转型, 进行数据仓库或者数据中台建设, 其中最主 要的就是etl过程。 通俗讲etl就是通过大数据技术, 从业务系统获取数据然后存储到分布 式存储系统中, 再在此基础上建 设数仓。 [0003]大数据数仓领域常用建模方式是基于Hive的维度分层建模, 整个数仓依次会分成 原始数据层 (ODS, Operation  Data Store) 、 明细数据层 (DWD, Data  Warehouse  Detail) 、 数 据汇总层 (DWS, Data  Warehouse  Summary) 和数据应用层 (ADS, Application  Data Store) 。 后一层的模型会依赖前面层的模型, 所以每 当前面业务数据库发生变更或者某 一层Hive表 的优化变更时, 对于该表后续依赖的表同时发生变更。 随着时间的推移和业务的发展, 整个 数仓模型会持续增加并且模 型之间的依赖也会很复杂, 所以每次Hiv e表的变更都需要 人工 去调整, 不仅耗时费力, 并且人为还可能出现漏改的情况, 严重情况下就会导致整个数仓模 型不可用。 除此之外, 数仓的最后一层数据应用层一般提供下游使用系统 (如: OLAP、 推荐、 搜索系统等) 使用, 所以数据应用层的变更还可能会对其他使用系统造成影响, 成为所属技 术领域技术人员亟 待解决的技 术问题。 [0004]因此, 本发明提供了一种 实时解决数仓模型变化响应问题的方法, 以至少解决上 述部分技 术问题。 发明内容 [0005]本发明要解决的技术问题是: 提供一种 实时解决数仓模型变化响应问题的方法, 以至少解决上述部分技 术问题。 [0006]为实现上述目的, 本发明采用的技 术方案如下: 一种实时解决数仓模型变化响应问题的方法, 包括以下步骤: 步骤1、 获取数仓模型的所有元数据表信息, 创建与每个元数据表信息对应的Hive 数据表; 步骤2、 监听元数据表的二进制日志, 生成监听数据并发送至Kafka, 通过流 处理引 擎实时消费Kafka的数据并写入至对应的Hive 数据表中; 步骤3、 通过任务调度平台获取系统后台数据库, 查询任务定义表获取Hive模型的 SQL语句, 然后解析出Hive模型的SQL语句中包含的该Hive模型以外的其它Hive模型; 当所 述其它Hive模型发生变更时, 更新Hive模型的SQ L语句; 步骤4、 基于步骤2中写入Kafka数据的Hive数据表创建拉链表, 并基于监听数据更 新拉链表; 步骤5、 对所述 其它Hive模型, 提供 所述其它Hive模型的变更通知信息 。说 明 书 1/6 页 3 CN 115470217 A 3

.PDF文档 专利 一种实时解决数仓模型变化响应问题的方法

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种实时解决数仓模型变化响应问题的方法 第 1 页 专利 一种实时解决数仓模型变化响应问题的方法 第 2 页 专利 一种实时解决数仓模型变化响应问题的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:32:41上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。