一种应用于大数据平台的自动化数据事务处理方法及系统技术方案

技术编号:35921226 阅读:16 留言:0更新日期:2022-12-10 11:05
本发明专利技术公开了一种应用于大数据平台的自动化数据事务处理方法及系统,该方法包括:获取数据变更信息,对数据变更信息进行解析,得到解析后的数据变更内容;对数据变更内容,按照表类型和变更类型进行分类,得到二维数据变更操作列表;对大数据平台系统级的表属性表和字段表进行查询,得到所有表级属性和字段属性信息;对二维数据变更操作列表中的变更信息,在所有表级属性和字段属性信息中进行遍历匹配;按照变更类型分类处理,得到每个变更内容需要完成的后续系列操作;采用多线程高并发操作法,对后续系列操作进行多线程并发处理。本发明专利技术适应于星环科技大数据平台TDH的自动化数据事务处理。据事务处理。据事务处理。

【技术实现步骤摘要】
一种应用于大数据平台的自动化数据事务处理方法及系统


[0001]本专利技术涉及大数据领域中的数据事务处理
,具体涉及一种应用于大数据平台的自动化数据事务处理方法及系统。

技术介绍

[0002]星环科技大数据平台TDH有很多数据是通过分布式sql引擎inceptor(基于hive开发的商业组件,其中hive是基于hadoop的一个数据仓库工具)存储在hadoop分布式文件系统HDFS上,在对分布式sql引擎inceptor的表进行变更时(新增/删除字段,修改表的分桶字段/分桶字段类型/分桶数量等),存在很多限制,不能直接通过数据操纵语言DML/数据定义语言DDL语句进行操作。
[0003]常用的方法是修改hive配置文件或者设置大量的事务参数,开启hive的事务特性,然后对事务表进行操作,但是非事务表不能进行数据事务操作的。此种方法操作繁琐,且对表的类型以及存储方式都有严格的要求,存储方式必须是Hadoop生态圈中的列式存储格式表orc表,并且存在新增的字段为null值问题以及字段错位的风险。
[0004]以上现有技术修改hive参数文件或者在hive命令行中通过设置事务参数来开启事务,这一种方案的原理是:事务是通过hive元数据服务Hive Metastore管理的,具体修改操作是通过orc应用程序接口ORC API执行到hadoop分布式文件系统HDFS上面的,绕开了元数据服务Metastore。当一个读操作开始的时候,元数据服务metastore会提供读的表,和当前已经提交的事务ids集合(记录了当前时刻数据库活跃的事务id列表)。这些集合由最大提交事务id和还在进行中的事务id。当进行查询操作的时候,会启动MR任务(MapReduce面向大规模数据处理的并行计算模型和方法),相同的集合会通过任务配置jobconf提供给MR任务,因此,读操作看到的是,命令开始那一刻,表的一个连续的数据库快照snapshot视图。写操作,元数据服务metastore会提供正在被读的表和正在被写的表的列表,获取到一个可以读取的有效事务id集合,和写事务id。所有的写入数据,都会打上写事务id标签。
[0005]在上面两种情况,当命令完成的时候,它应该通知元数据服务metastore。元数据服务metastore一定要确认或者放弃被抛弃的事务,hive客户端一定要每十分钟通知元数据服务metastore一次,说明命令还在运行,否则的话,这个事务会被放弃。元数据服务metastore会维护着被读的表集合和相应的事务id,这样它可以在上次读操作完成后,调度合并完数据的删除。
[0006]因此,现有技术应用于大数据平台的数据事务处理方法存在数据处理效率低,不支持直接修改表的属性信息;在新增的字段内容为空值时,不利于数据的使用;另外,只能对特定条件下的表,即只能对orc分桶事务表且hive开启了事务进行变更,不支持其他的表进行操作。

技术实现思路

[0007]本专利技术所要解决的技术问题是现有技术应用于大数据平台的数据事务处理方法
存在数据处理效率低,不支持直接修改表的属性信息;在新增的字段内容为空值时,不利于数据的使用;另外,只能对特定条件下的表,即只能对orc分桶事务表且hive开启了事务进行变更,不支持其他的表进行操作。本专利技术目的在于提供一种应用于大数据平台的自动化数据事务处理方法及系统,解决以上问题。
[0008]本专利技术通过下述技术方案实现:
[0009]第一方面,本专利技术提供了一种应用于大数据平台的自动化数据事务处理方法,该方法包括:
[0010]获取数据变更信息,对数据变更信息进行解析,得到解析后的数据变更内容;对数据变更内容,按照表类型和变更类型进行分类,得到二维数据变更操作列表;
[0011]对大数据平台系统级的表属性表和字段表进行查询,得到所有表级属性和字段属性信息;
[0012]对二维数据变更操作列表中的变更信息,在所有表级属性和字段属性信息中进行遍历匹配;按照变更类型分类处理,得到每个变更内容需要完成的后续系列操作;
[0013]采用多线程高并发操作法,对后续系列操作进行多线程并发处理。
[0014]本专利技术以上技术方案,数据事务处理完成后的字段,存储的数据内容不同,本专利技术可根据使用者的需求,可自行定义字段的位置以及字段的默认值,如不自定义值则自动进行标准化数据处理,不会出现空值(null值),便于后续数据的使用和分析;本专利技术还可以根据用户的设置,敏捷的变更相关属性信息,自动化完成相关变更;本专利技术在处理多分区、大数据量的表时,采取高并发多线程进行数据处理,处理的数据量大、处理效率高。
[0015]进一步地,获取数据变更信息,对数据变更信息进行解析,得到解析后的数据变更内容;对数据变更内容,按照表类型和变更类型进行分类,得到二维数据变更操作列表,包括:
[0016]输入带数据变更信息的数据文件(比如excel文件或者其他数据文件);
[0017]使用python程序对数据文件进行解析:读取数据文件的内容,遍历数据文件每一行数据,获取本次数据事务变更涉及的数据变更内容;
[0018]对数据变更内容,按照变更类型和表类型进行分类组合,得到二维数据变更操作列表。
[0019]进一步地,数据变更内容包括数据库名称、表名称、变更类型、新增的字段信息,新的分桶信息、主键标志和分布键标志;变更类型包括新增字段、修改表级属性和/或修改分布键信息等;
[0020]变更类型包括表结构变更、分布键信息变更、表事务属性变更和表存储类型变更;
[0021]表类型包括orc事务表、orc非事务表、text事务表、text非事务表、holodesk表、hbase表、分区表和非分区表,分区表包括范围分区表和单值分区表。
[0022]进一步地,对大数据平台系统级的表属性表和字段表进行查询,得到所有表级属性和字段属性信息,包括:
[0023]对大数据平台系统级的表属性表进行数据查询,得到系统级各种表的属性信息;
[0024]对大数据平台系统级的字段表进行数据查询,得到系统级各种表的字段属性信息;以及
[0025]根据大数据平台系统级的系统表获取分区信息,分区信息包括分区字段、分区值
和分区类型。
[0026]进一步地,对二维数据变更操作列表中的变更信息,在所有表级属性和字段属性信息中进行遍历匹配;按照变更类型分类处理,得到每个变更内容需要完成的后续系列操作,包括:
[0027]步骤A:循环遍历二维数据变更操作列表中的变更信息:根据数据库名称和表名称,在所有表级属性信息和字段属性信息中进行遍历,根据数据库名称和表名称进行比对,若数据库名称和表名称一致,则得到旧的表级属性和字段属性;
[0028]判断变更信息的类型,若是表结构变更,则遍历表结构变更信息,在旧的字段属性中进行对比,直到找到对应的字段,将字段变更的内容插入旧的字段信息中,生成新的字段属性;若是分布键信息变更和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于大数据平台的自动化数据事务处理方法,其特征在于,该方法包括:获取数据变更信息,对所述数据变更信息进行解析,得到解析后的数据变更内容;对所述数据变更内容,按照表类型和变更类型进行分类,得到二维数据变更操作列表;对大数据平台系统级的表属性表和字段表进行查询,得到所有表级属性和字段属性信息;对所述二维数据变更操作列表中的变更信息,在所述所有表级属性和字段属性信息中进行遍历匹配;按照变更类型分类处理,得到每个变更内容需要完成的后续系列操作;采用多线程高并发操作法,对所述后续系列操作进行多线程并发处理。2.根据权利要求1所述的一种应用于大数据平台的自动化数据事务处理方法,其特征在于,所述获取数据变更信息,对所述数据变更信息进行解析,得到解析后的数据变更内容;对所述数据变更内容,按照表类型和变更类型进行分类,得到二维数据变更操作列表,包括:输入带数据变更信息的数据文件;使用python程序对所述数据文件进行解析:读取所述数据文件的内容,遍历所述数据文件每一行数据,获取本次数据事务变更涉及的数据变更内容;对所述数据变更内容,按照变更类型和表类型进行分类组合,得到二维数据变更操作列表。3.根据权利要求2所述的一种应用于大数据平台的自动化数据事务处理方法,其特征在于,所述数据变更内容包括数据库名称、表名称、变更类型、新增的字段信息,新的分桶信息、主键标志和分布键标志;所述变更类型包括新增字段、修改表级属性和/或修改分布键信息;所述变更类型包括表结构变更、分布键信息变更、表事务属性变更和表存储类型变更;所述表类型包括orc事务表、orc非事务表、text事务表、text非事务表、holodesk表、hbase表、分区表和非分区表,所述分区表包括范围分区表和单值分区表。4.根据权利要求1所述的一种应用于大数据平台的自动化数据事务处理方法,其特征在于,所述对大数据平台系统级的表属性表和字段表进行查询,得到所有表级属性和字段属性信息,包括:对大数据平台系统级的表属性表进行数据查询,得到系统级各种表的属性信息;对大数据平台系统级的字段表进行数据查询,得到系统级各种表的字段属性信息;以及根据大数据平台系统级的系统表获取分区信息,所述分区信息包括分区字段、分区值和分区类型。5.根据权利要求2所述的一种应用于大数据平台的自动化数据事务处理方法,其特征在于,所述对所述二维数据变更操作列表中的变更信息,在所述所有表级属性和字段属性信息中进行遍历匹配;按照变更类型分类处理,得到每个变更内容需要完成的后续系列操作,包括:步骤A:循环遍历所述二维数据变更操作列表中的变更信息:根据数据库名称和表名称,在所述所有表级属性信息和字段属性信息中进行遍历,根据数据库名称和表名称进行比对,若数据库名称和表名称一致,则得到旧的表级属性和字段属性;
判断变更信息的类型,若是表结构变更,则遍历表结构变更信息,在...

【专利技术属性】
技术研发人员:危先银
申请(专利权)人:四川新网银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1