Hive数据库中拉链表的更新方法、装置和计算机设备制造方法及图纸

技术编号:20272399 阅读:18 留言:0更新日期:2019-02-02 03:37
本申请揭示了Hive数据库中拉链表的更新方法、装置和计算机设备,拉链表设置有多个第一分区表,以及一个有效数据分区表;第一分区表内记录关闭拉链的数据;有效数据分区表用于记载未处于关闭拉链状态的数据;更新方法为:获取当前的增量表,并将增量表与有效数据分区表进行内关联,以查找到需要关闭拉链的数据;解析出需要关闭拉链的数据的第一属性,将需要关闭拉链的数据插入到与第一属性对应的第一分区表中;将增量表与有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。先查找出需要关闭拉链的数据,并将其进行属性分析,然后插入到对应属性的第一分区表中,然后再对有效数据分区表进行更新,逻辑清晰,且代码实现简单。

【技术实现步骤摘要】
Hive数据库中拉链表的更新方法、装置和计算机设备
本申请涉及到计算机领域,特别是涉及到一种Hive数据库中拉链表的更新方法、装置和计算机设备。
技术介绍
当前数据仓库在保留历史数据时主要有两种形式:第一种,快照,针对每天保留全量数据;第二种,拉链记历史,每天针对变化的数据记录其生命周期。第一种耗费存储空间。第二种在对于数据变化频率小的情况下是比较好的选择方案。但是,在设计拉链表时通用做法是设计两个字段(开始日期和结束日期)记录数据的变化,但在Hive里不能对已有的数据文件进行更新,拉链表的更新实现,逻辑复杂。
技术实现思路
本申请的主要目的为提供一种可以更新,且更新逻辑简单的Hive数据库中拉链表的更新方法、装置、计算机设备和存储介质。为了实现上述专利技术目的,本申请提出一种Hive数据库中拉链表的更新方法,所述Hive数据库包括拉链表和增量表,所述拉链表设置有多个第一分区表,以及一个有效数据分区表;多个所述第一分区表是按照预设规则建立的具有不同属性的分区,第一分区表内记录关闭拉链的数据;所述有效数据分区表用于记载未处于关闭拉链状态的数据;所述更新方法,包括:获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据;解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。进一步地,所述解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中的步骤,包括:解析出所述需要关闭拉链的数据的第一属性;若存在与所述第一属性对应的第一分区表,则将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;若不存在与所述第一属性对应的第一分区表,则根据所述第一属性生成一个与所述第一属性对应的第一分区表,并将所述需要关闭拉链的数据插入到生成的与所述第一属性对应的第一分区表中。进一步地,所述获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据的步骤之前,包括:获取预设的第二属性,根据所述第二属性建立所述有效数据分区表。进一步地,所述获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据的步骤之前,包括:获取增量数据,并将所述增量数据进行去重处理;将去重后的增量数据制成所述增量表。进一步地,所述获取增量数据,并将所述增量数据进行去重处理的步骤,包括:获取各所述增量数据的主键;判断所述主键中是否存在相同的主键;若存在相同的主键,则判断各相同的主键对应的数据是否存在重复;若存在重复数据,则只保留一组重复的数据。进一步地,所述判断各相同的主键对应的数据是否存在重复的步骤,包括:将各相同的主键对应的数据分别向量化,得到对应的向量矩阵;计算各向量矩阵之间的相似度;若任意两向量矩阵的相似度达到预设值,则判定所述任意两向量矩阵对应的数据为重复数据。进一步地,所述将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表的步骤之后,包括:定时对所述拉链表进行跑批运算。本申请还提供一种Hive数据库中拉链表的更新装置,所述Hive数据库包括拉链表和增量表,所述拉链表设置有多个第一分区表,以及一个有效数据分区表;多个所述第一分区表是按照预设规则建立的具有不同属性的分区,第一分区表内记录关闭拉链的数据;所述有效数据分区表用于记载未处于关闭拉链状态的数据;所述更新装置,包括:获取关联单元,用于获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据;解析插入单元,用于解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;关联更新单元,用于将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。本申请的Hive数据库中拉链表的更新方法、装置、计算机设备和存储介质,先查找出需要关闭拉链的数据,并将其进行属性分析,然后插入到对应属性的第一分区表中,然后再对有效数据分区表进行更新,逻辑清晰,且代码实现简单。在查找关闭拉链的数据时,可以根据其属性,先查找对应的第一分区表,然后再在查找到的第一分区表中查找对应的数据,在大数据平台中查找数据的速度更快,提高查找数据的效率。附图说明图1为本申请一实施例的Hive数据库中拉链表的更新方法的流程示意图;图2为本申请一实施例的Hive数据库中拉链表的更新装置的结构示意框图;图3为本申请一实施例的解析插入单元的结构示意框图;图4为本申请一实施例的Hive数据库中拉链表的更新装置的结构示意框图;图5为本申请一实施例的计算机设备的结构示意框图。本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。参照图1,本申请实施例提出一种Hive数据库中拉链表的更新方法,所述Hive数据库包括拉链表和增量表,所述拉链表设置有多个第一分区表,以及一个有效数据分区表;多个所述第一分区表是按照预设规则建立的具有不同属性的分区,第一分区表内记录关闭拉链的数据;所述有效数据分区表用于记载未处于关闭拉链状态的数据。上述更新方法,包括步骤:S1、获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据;S2、解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;S3、将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。如上述步骤S1所述,上述增量表是指是指当天抽取源业务系统的数据表,一般是源业务系统T-1的数据。上述内关联是指在增量表和有效数据分区表中查找主键相同数据,如果查找到,则说明该主键对应的数据的状态发生了变化,所以才会出现在增量表中,也就是有效数据分区表中对应该主键的数据需要关闭拉链。如上述步骤S2所述,上述第一分区表是按照预设分区规则进行分区的,分区规则包括多种,比如以事件属性为分区基础进行分区,如离职属性、调岗属性等;又比如以时间为基础进行分区,如以自然年、季度、月等进行分区等。在将需要关闭拉链的数据插入对应的第一分区表的时候,先分析需要关闭拉链的数据的属性,然后根据属性插入到对应的第一分区表中,在后续查找关闭拉链的数据时,可以先根据关闭拉链的数据的属性查找到对应的第一分区表,然后在第一分区表中查找对应的关闭拉链的数据。如上述步骤S3所述,上述全关联包括三种情况,第一种:增量表和有效数据分区表能关联上,主键在两张表都存在;第二种:增量表和有效数据分区表关联不上,本文档来自技高网...

【技术保护点】
1.一种Hive数据库中拉链表的更新方法,其特征在于,所述Hive数据库包括拉链表和增量表,所述拉链表设置有多个第一分区表,以及一个有效数据分区表;多个所述第一分区表是按照预设规则建立的具有不同属性的分区,第一分区表内记录关闭拉链的数据;所述有效数据分区表用于记载未处于关闭拉链状态的数据;所述更新方法,包括:获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据;解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。

【技术特征摘要】
1.一种Hive数据库中拉链表的更新方法,其特征在于,所述Hive数据库包括拉链表和增量表,所述拉链表设置有多个第一分区表,以及一个有效数据分区表;多个所述第一分区表是按照预设规则建立的具有不同属性的分区,第一分区表内记录关闭拉链的数据;所述有效数据分区表用于记载未处于关闭拉链状态的数据;所述更新方法,包括:获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据;解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;将所述增量表与所述有效数据分区表中的数据进行全关联,得到更新后的有效数据分区表。2.根据权利要求1所述的Hive数据库中拉链表的更新方法,其特征在于,所述解析出所述需要关闭拉链的数据的第一属性,将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中的步骤,包括:解析出所述需要关闭拉链的数据的第一属性;若存在与所述第一属性对应的第一分区表,则将所述需要关闭拉链的数据插入到与所述第一属性对应的第一分区表中;若不存在与所述第一属性对应的第一分区表,则根据所述第一属性生成一个与所述第一属性对应的第一分区表,并将所述需要关闭拉链的数据插入到生成的与所述第一属性对应的第一分区表中。3.根据权利要求1所述的Hive数据库中拉链表的更新方法,其特征在于,所述获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据的步骤之前,包括:获取预设的第二属性,根据所述第二属性建立所述有效数据分区表。4.根据权利要求1所述的Hive数据库中拉链表的更新方法,其特征在于,所述获取当前的增量表,并将所述增量表与所述有效数据分区表进行内关联,以查找到需要关闭拉链的数据的步骤之前,包括:获取增量数据,并将所述增量数据进行去重处理;将去重后的增量数据制成所述增量表。5.根据权利要求4所述的Hive数据库中拉链表的更新方法,...

【专利技术属性】
技术研发人员:刘广平许浩奇陈润红
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1