数据写入方法、电子设备及存储介质技术

技术编号:39056127 阅读:10 留言:0更新日期:2023-10-12 19:49
本发明专利技术涉及大数据技术领域,提供一种数据写入方法、电子设备及存储介质,其中方法包括:获取大数据组件发送的数据写入指令,数据写入指令携带针对待写入数据表配置的索引别名;基于与索引别名关联的索引信息表集中主键字段

【技术实现步骤摘要】
数据写入方法、电子设备及存储介质


[0001]本专利技术涉及大数据
,尤其涉及数据写入方法、电子设备及存储介质。

技术介绍

[0002]在大数据领域中,通常需要将MapReduce或Spark等Hadoop生态组件加工好的数据表写入Elasticsearch数据库中,以供其它第三方系统通过Elasticsearch数据库在线查询数据。并且,为了确保Elasticsearch数据库中同一个文档不会重复,Elasticsearch数据库通过引入“_id”字段实现主键功能,以便于每次向索引(index)信息表中写入文档(document)时先查询“_id”,如果查询到“_id”,则确定该document已存在于该index信息表中,此时对该index信息表进行更新;反之,如果未查询到“_id”,则确定该document并未写入该index信息表中,此时对该index信息表进行新增。
[0003]由于“_id”字段仅约束index信息表的唯一性,在索引别名(alias)上却不能保证“_id”唯一,由此导致一个alias关联多个index信息表时,存在相同“_id”在同一个alias下的不同index信息表中的情况,也即存在同一document在Elasticsearch数据库中写入至少两次这一数据重复问题。
[0004]针对解决这一数据重复问题,相关技术中,可以通过禁用index信息表滚动生成等数据生命周期管理机制的方式,限制alias和index信息表的一对多关系,以此避免通过alias写数据时存在的数据重复问题;还可以限制只能通过index信息表写数据,以此避免数据重复问题。
[0005]然而,由于使用数据生命周期管理机制会导致系统性能损耗问题和运维成本增加问题;并且,限制只能通过index信息表写数据这一方式,需要提前获知待写入数据表存在于哪个alias中的哪个index信息表中,写入过程复杂度大幅增加。

技术实现思路

[0006]本专利技术旨在至少解决相关技术中存在的技术问题之一。为此,本专利技术提出一种数据写入操作,本专利技术通过指定索引别名和指定目标字段值确定目标索引信息表的方式,确保大数据计算引擎向Elasticsearch数据库中推送数据的唯一性以及大数据计算引擎写入Elasticsearch数据库的索引别名范围内的主键唯一性,无需任何改动即可解决索引别名范围内主键重复的问题,从而使得下游第三方也无需任何变更即可获得正确且不重复的数据服务,有效降低了数据写入操作的复杂度。
[0007]本专利技术还提出一种数据写入方法。
[0008]本专利技术还提出一种数据写入装置。
[0009]本专利技术还提出一种电子设备。
[0010]本专利技术还提出一种非暂态计算机可读存储介质。
[0011]根据本专利技术第一方面实施例的数据写入方法,包括:
[0012]获取大数据组件发送的数据写入指令,所述数据写入指令携带针对待写入数据表
配置的索引别名;
[0013]基于与所述索引别名关联的索引信息表集中主键字段

字段值的映射关系,以及所述待写入数据表中待写入行数据含有的目标字段值,从所述索引信息表集中确定目标索引信息表;
[0014]基于所述目标字段值,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。
[0015]根据本专利技术实施例的数据写入方法,当Elasticsearch数据库获取数据写入指令携带针对待写入数据表配置的索引别名时,首先基于与索引别名关联的索引信息表集中主键字段

字段值的映射关系,以及待写入数据表中待写入行数据含有的目标字段值,从索引信息表集中确定目标索引信息表,再基于目标字段值,在目标索引信息表中执行针对待写入行数据的写入操作;以此通过指定索引别名和指定目标字段值确定目标索引信息表的方式,确保大数据计算引擎向Elasticsearch数据库中推送数据的唯一性以及大数据计算引擎写入Elasticsearch数据库的索引别名范围内的主键唯一性,无需任何改动即可解决索引别名范围内主键重复的问题,从而使得下游第三方也无需任何变更即可获得正确且不重复的数据服务,有效降低了数据写入操作的复杂度。
[0016]根据本专利技术的一个实施例,所述基于所述目标字段值,在所述目标索引信息表中执行针对所述待写入行数据的写入操作,包括:
[0017]判断所述目标字段值是否存在于所述目标索引信息表中;
[0018]基于所述目标字段值未存在于所述目标索引信息表中的判断结果,获取所述索引别名的第一配置参数;
[0019]基于所述第一配置参数,创建第一分区写入器;
[0020]基于所述第一分区写入器,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。
[0021]根据本专利技术的一个实施例,所述方法还包括:
[0022]基于所述目标字段值存在于所述目标索引信息表中的判断结果,获取所述目标索引信息表的第二配置参数;
[0023]基于所述第二配置参数,创建第二分区写入器;
[0024]基于所述第二分区写入器,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。
[0025]根据本专利技术的一个实施例,所述方法还包括:
[0026]以所述索引别名为键、以所述第一分区写入器为值缓存所述索引别名和所述第一分区写入器;或者,以所述目标索引信息表为键、以所述第二分区写入器为值缓存所述目标索引信息表和所述第二分区写入器。
[0027]根据本专利技术的一个实施例,在所述基于所述目标字段值,在所述目标索引信息表中执行针对所述待写入行数据的写入操作之后,所述方法还包括:
[0028]响应于多个数据查询请求,根据任一数据查询请求,针对所述索引别名执行数据查询操作;所述多个数据查询请求均为针对同一索引别名的查询请求;
[0029]向所述多个数据查询请求各自对应的下游客户端输出数据查询结果。
[0030]根据本专利技术的一个实施例,所述基于所述第一分区写入器,在所述目标索引信息
表中执行针对所述待写入行数据的写入操作,包括:
[0031]基于所述第一分区写入器,将所述待写入行数据新增至所述目标索引信息表中。
[0032]根据本专利技术的一个实施例,所述基于所述第二分区写入器,在所述目标索引信息表中执行针对所述待写入行数据的写入操作,包括:
[0033]基于所述第二分区写入器,将所述目标索引信息表中所述目标字段值对应的目标数据记录更新为所述待写入行数据。
[0034]根据本专利技术第二方面实施例的数据写入装置,包括:
[0035]获取模块,用于获取大数据组件发送的数据写入指令,所述数据写入指令携带针对待写入数据表配置的索引别名;
[0036]确定模块,用于基于与所述索引别名关联的索引信息表集中主键字段

字段值的映射关系,以及所述待写入数据表中待写入行数据含有的目标字段值,从所述索引信息表集中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据写入方法,其特征在于,包括:获取大数据组件发送的数据写入指令,所述数据写入指令携带针对待写入数据表配置的索引别名;基于与所述索引别名关联的索引信息表集中主键字段

字段值的映射关系,以及所述待写入数据表中待写入行数据含有的目标字段值,从所述索引信息表集中确定目标索引信息表;基于所述目标字段值,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。2.根据权利要求1所述的数据写入方法,其特征在于,所述基于所述目标字段值,在所述目标索引信息表中执行所述待写入行数据的写入操作,包括:判断所述目标字段值是否存在于所述目标索引信息表中;基于所述目标字段值未存在于所述目标索引信息表中的判断结果,获取所述索引别名的第一配置参数;基于所述第一配置参数,创建第一分区写入器;基于所述第一分区写入器,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。3.根据权利要求2所述的数据写入方法,其特征在于,所述方法还包括:基于所述目标字段值存在于所述目标索引信息表中的判断结果,获取所述目标索引信息表的第二配置参数;基于所述第二配置参数,创建第二分区写入器;基于所述第二分区写入器,在所述目标索引信息表中执行针对所述待写入行数据的写入操作。4.根据权利要求3所述的数据写入方法,其特征在于,所述方法还包括:以所述索引别名为键、以所述第一分区写入器为值缓存所述索引别名和所述第一分区写入器;或者,以所述目标索引信息表为键、以所述第二分区写入器为值缓存所述目标索引信息表和所述第二分区写入器。5.根据权利要求1至4任一项所述的数据写入方法,其特征在于,在所述基于所述目标字段值,在所述目标索引信息表中执行所述待写入行数据的写...

【专利技术属性】
技术研发人员:陈湘孔曹铭斌欧旭新
申请(专利权)人:美的网络信息服务深圳有限公司
类型:发明
国别省市:

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

1