买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:浙江锦智人工智能科技有限公司
摘要:本发明公开了一种基于hudi的增量数据融合方法,S0:定义数据融合需要的playload及处理逻辑,本方案已定义了一套playload开发规范,并基于规范实现了max、min、sum、count、avg、多值、优先级等计算逻辑,以上计算逻辑均为主键聚合后求对应的值,合并计算逻辑可根据需求按照规范自由扩展,按需实现;S1:根据业务需要确定hudi的表类型,可以为cow表或mor表,然后将所需的全量数据从源端同步到hudi库,所需的全量数据同步到hudi库的过程为全量初始化数据,此过程完成后即形成了数据融合的基础库。该基于hudi的增量数据融合方法,将数据融合分为两个环节,第一步融合由自定义的payload实现,提供广泛的融合规则和配置;第二步融合借助自定义payload的规则,其特征是利用Hudi自身的机制完成。
主权项:1.一种基于hudi的增量数据融合方法,其特征在于,包括以下步骤:S0:定义数据融合需要的playload及处理逻辑,本方案已定义了一套playload开发规范,并基于规范实现了max、min、sum、count、avg、多值、优先级等计算逻辑,以上计算逻辑均为主键聚合后求对应的值,合并计算逻辑可根据需求按照规范自由扩展,按需实现;S1:根据业务需要确定hudi的表类型,可以为cow表或mor表,然后将所需的全量数据从源端同步到hudi库,所需的全量数据同步到hudi库的过程为全量初始化数据,此过程完成后即形成了数据融合的基础库;S2:对输入的多来源的流式或批式数据进行基础处理,以保证本批次写入的数据格式一致;S3:按照既定的数据融合规则,执行数据的融合过程,保证输出数据中相同key的数据有且仅有一条;S4:将上一步的融合后的数据结果L5直接写入hudi的分区表,分区为key字段的hashcode求模取余值,当hudi中存在历史数据时,payload会自动进行数据的二次融合,并将最终计算结果写入HDFS,其中二次融合由hudi的自身机制触发并保证执行结果的正确性。例如,待处理数据为S={[‘123’,’A1’,’9’,’4’,’1’]},hudi分区表的历史数据为{[‘123’,’A’,’7’,’6’,’1’]},其对应的字段分别为key,属性A,属性B,属性C和优先级数字越小优先级越高,融合的规则为对属性A执行优先级融合,对属性B执行最大值融合,对属性C求和,则执行过程为:1.对属性A计算优先级融合,则融合后属性A的值为A,因为历史数据的优先级最高,融合属性A时取第一行该列的值;2.对属性B计算最大值融合,则融合后属性B的值为9,因为待处理数据属性B的值最大,融合属性B时取输入数据该列的值;3.对属性C计算求和融合,则融合后属性C的值为10,因为历史数据和待处理数据的属性C都有值,融合属性C时取历史数据和待处理数据该列的值的和;4.因此,针对key相同的数据,融合后的结果为[‘123’,’A’,’9’,’10’,’1’],对应的字段分别为key,属性A,属性B,属性C和优先级数字越小优先级越高。其写入流程为:S4.1先对records按照recordkey去重;S4.2首先对这批数据创建索引HoodieKey=HoodieRecordLocation,根据recordkey和分区路径构建索引;通过索引区分哪些records是update,哪些records是insertkey第一次写入;S4.3对于update消息,会直接找到对应key所在的最新FileSlice的base文件,并做merge后写新的basefile新的FileSlice。S4.4对于insert消息,会扫描当前partition的所有SmallFile小于一定大小的basefile,然后merge写新的FileSlice,如果没有SmallFile,直接写新的FileGroup+FileSlice;S5:依据hudi的时间轴功能获取最新数据同步到其他供业务进行查询;S6:当再有数据到达时,重复以上S1~S5的步骤进行处理,以形成新的融合结果存入HDFS并分发到对应的业务库。
全文数据:
权利要求:
百度查询: 浙江锦智人工智能科技有限公司 一种基于hudi的增量数据融合方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。