[发明专利]一种大数据平台数据加载转化算法在审
申请号: | 201810288789.3 | 申请日: | 2018-04-03 |
公开(公告)号: | CN108763259A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 田德惠;李烨 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 徐金琼 |
地址: | 610041 四川省成都市中国(四川)自由*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 大数据 数据仓库 平台数据 传统的 加载 算法 转化 性能优于传统 高性能技术 操作转换 分区操作 历史变化 平台技术 统一编码 业务转换 记录源 目标表 源数据 拉链 清洗 转换 进程 | ||
本发明公开了一种大数据平台数据历史拉链加载转化算法将源数据通过统一编码转换、业务转换插入最终的目标表并记录源数据的历史变化进程。实现了将数据仓库从传统的DBMS向Hadoop平台平稳过渡,从原来的UPDATE‑INSERT操作转换为DROP PARTITON‑INSERT来适应大数据平台技术特性,扬长避短使用了大数据平台对分区操作的高性能技术特点,在清洗、转化数据方面的性能优于传统数据仓库,在整体的跑批效率都优于传统的MPP的数据仓库。
技术领域
本发明属于计算机软件技术领域,具体涉及一种大数据平台数据加载转化算法。
背景技术
在银行业的数据仓库平台绝大部分都是应用在RDBMS(关系型数据库)平台上,而在大数据(Hadoop)平台上搭建的数据仓库却不多见。由于受成本、运算效率、容错性、可扩展性等方面的影响,数据仓库向Hadoop平台迁移必定是一股潮流。而相应的数据仓库模型、数据的转换算法也需要相应的往大数据方向变迁。
目前PDM层模型设计中比较成熟的实施方法论Teradata FS-LDM(第三范式主题级)、Bill Inmon(第三范式星型模型)、Ralph Kimball(维度模型)、以及最近流行的DataVault。无论采用怎样的实施方法论,业务的状态值(比如账户的状态、借据余额的变化等)在数据仓库中需要存储历史状态的事实没有改变。所以就出现了拉链表(也称为历史拉链表)。历史拉链表的处理分两条线:一是增量的历史拉链,二是全量的历史拉链。
拉链表在数据仓库中根据数据存储的方式来定义的。所谓拉链,就是存储事物在各时间段的变化状态,保存整个记录的生命周期。一般的情况下拉链表会添加两个(但不仅仅是两个)技术字段,开始日期(start_dt)与结束日期(end_dt)记录数据在时间范围内的变化状态。start_dt一般定义为批量的日期($txdate),end_dt一般定义为未来某个日期(比如3000-12-31),表示该行数据的有效期,比如3000-12-31表示该数据当前是有效的。
传统数据仓库从Stage→拉链算法→PDM的实施过程,该过程其实是UPDATE-INSERT的过程。传统的数据仓库的关链操作是以SQL(Structure Query Language结构化查询语句)的UPDATE语句实现的。而Hadoop平台底层是HDFS(Hadoop Distributed FileSystem)分布式文件系统,对HIVE进行大批量的UPDATE操作目前的技术难度很大,即时现在市面上有些Hadoop平台能实现UPDATE的操作那往往也在HBase上,插入和更新都转换成对HDFS的HFile文件的创建插入和更新的问题,而查询就变得相对麻烦。以查询性能的下降来换取更新性能的提升,而对于数据仓库来讲是大量的查询需求,所以使用HBase的方式是不大可能的。本文只讨论在HDFS+Hive的实现方式。
发明内容
本发明的目的在于:针对上述的Hadoop平台底层是HDFS分布式文件系统,对文件进行大批量UPDATE操作的技术难度大的问题,HDFS不支持文件更新操作,一旦一个文件生成后,在一次性的写完文件关闭之后,这个文件就不能被改变了。为什么这么设计?是为了与MapReduce相配合,MapReduce的工作模式是接受一系列输入文件,经过map和reduce处理,然后输出一系列文件,而不是在原来的输入文件上做原位更新。为什么这么做?因为效率,直接输出新文件比更新一个旧文件效率高的多。本文提出一种大数据平台数据加载转化算法来使用HDFS+Hive本身的技术特性、运算性能,在Hadoop平台实现历史拉链算法。
本发明采用的技术方案如下:
一种大数据平台数据加载转化算法,包括如下步骤:
S1:编写抽取的业务逻辑将结果放入n表;
S2:计算有效全量通过start_dt<=$txdate and end_dt>$txdate将结果放入o表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810288789.3/2.html,转载请声明来源钻瓜专利网。