[发明专利]一种将业务数据更新至Hive的方法、终端及存储介质有效
申请号: | 201910899330.1 | 申请日: | 2019-09-23 |
公开(公告)号: | CN110647535B | 公开(公告)日: | 2023-06-09 |
发明(设计)人: | 陈娟妮;胡清;王建华 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 数据 更新 hive 方法 终端 存储 介质 | ||
1.一种将业务数据更新至Hive的方法,其特征在于用于将业务数据写入或者更新至Hive中,所述方法包括如下步骤:
S100、动态创建Hive事务表的JavaBean Class实例;
S200、从业务数据中提取业务主键,从Hive事务表中查询数据并获取存储的业务主键和Hive虚拟主键,并构建反映业务主键和Hive虚拟主键映射关系的映射关系Map;
S300、基于映射关系Map判断业务数据表中业务数据为待更新的业务数据还是待新增的业务数据,并通过JavaBean实例将待更新的业务数据写入待更新的业务数据集、将待新增的业务数据写入待新增的业务数据集;
S400、将待更新的业务数据集存储至Hive事务表,将待新增的业务数据集添加Hive虚拟主键后存储至Hive事务表;
步骤S100中,采用Javassist动态创建Hive事务表的JavaBean Class实例,包括如下步骤:
对于从Hive事务表的元数据中获取的每个字段,构建私有声明、get方法以及set方法;
新增一个Hive虚拟主键字段,对于Hive虚拟主键字段,构建私有声明、get方法以及set方法,所述Hive虚拟主键字段对应Hive事务表的虚拟主键列。
2.根据权利要求1所述的一种将业务数据更新至Hive的方法,其特征在于步骤S200,包括如下分步骤:
从业务数据中提取业务主键,所述业务主键在关系数据库中为用primary key声明的字段;
读取Hive事务表数据存储的HDFS文件,且仅读取业务主键所在的列,获取InputSplit信息;
声明映射关系Map,处理InputSplit信息得到业务主键和Hive虚拟主键;
构建业务主键和与其关联的Hive事务表中Hive虚拟主键的映射关系,形成映射关系Map。
3.根据权利要求2所述的一种将业务数据更新至Hive的方法,其特征在于读取业务主键所在的列,包括:
通过IOConstants.SCHEMA_EVOLUTION_COLUMNS指定待查询的业务主键列,并通过逗号分隔多个主键列名称。
4.根据权利要求1所述的一种将业务数据更新至Hive的方法,其特征在于步骤S300包括如下分步骤:
遍历业务数据集,获取业务主键;
对于每个业务主键,执行如下操作:
查询所述业务主键是否存在于所述映射关系Map中,如果所述业务主键位于所述映射关系Map中,所述业务主键对应的业务数据为待更新的业务数据,如果所述业务主键不在所述映射关系Map中,所述业务主键对应的业务数据为待新增的业务数据;
对于待更新的业务数据,声明一个关联的JavaBean实例,记录所述业务数据和Hive虚拟主键,写入待更新的业务数据集;
对于待新增的业务数据,声明一个关联的JavaBean实例,记录所述业务数据,写入待新增的业务数据集。
5.根据权利要求1所述的一种将业务数据更新至Hive的方法,其特征在于步骤S400包括如下步骤:
创建一个事务Transaction和MutatorCoordinator实例;
遍历待更新的业务数据集,通过MutatorCoordinator.update()将每一条业务数据更新至Hive事务表;
遍历待新增的业务数据集,为每一条业务数据的JavaBean实例的Hive虚拟主键字段添加唯一标识,采用MutatorCoordinator.insert()将每一条业务数据写入Hive事务表;
关闭MutatorCoordinator实例,提交事务Transaction。
6.根据权利要求1所述的一种将业务数据更新至Hive的方法,其特征在于步骤S100中,动态创建Hive事务表的JavaBean Class实例之前,创建MutatorClient连接;
步骤S400执行完毕后,关闭MutatorClient连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910899330.1/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置