一种数据处理方法、装置、设备及计算机存储介质与流程

文档序号:28858942发布日期:2022-02-11 23:17阅读:83来源:国知局
一种数据处理方法、装置、设备及计算机存储介质与流程

1.本技术属于数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及计算机存储介质。


背景技术:

2.在数据仓库的经典维度建模场景中,有一个概念叫缓慢变化维(slowly changing dimensions,scd)。scd的提出是因为维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度一般伴随着历史信息的状态变化,我们一般把处理维度表历史变化信息的场景称为处理scd的建模应用场景。
3.现有技术中,通常通过基于postgresql的大规模并行处理(massively parallel processing,mpp)架构技术来处理数据仓库维度建模中的scd场景,但是,由于基于postgresql的mpp架构技术在集群规模上存在限制,单集群节点数的理论上限为512,处理千万亿字节(petabyte,pb)级别以上规模的数据时需要多集群配合,加大了集群管理的复杂度。


技术实现要素:

4.本技术实施例提供一种数据处理方法、装置、设备及计算机存储介质,能够至少解决现有技术中处理pb级别以上规模的数据时需要多集群配合的问题。
5.第一方面,本技术实施例提供一种数据处理方法,该方法包括:
6.获取第一数据文件;
7.将第一数据文件导入到hive表中,生成第一记录数据;
8.将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比;
9.在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录的闭链日期为无穷大;
10.将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。
11.第二方面,本技术实施例提供了一种数据处理装置,该装置包括:
12.第一获取模块,用于获取第一数据文件;
13.第一生成模块,用于将第一数据文件导入到hive表中,生成第一记录数据;
14.对比模块,用于将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比;
15.第一设置模块,用于在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录的闭链日期为无穷大;
16.第一映射模块,用于将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。
17.第三方面,本技术实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;
18.处理器执行计算机程序指令时实现如第一方面的任一项实施例中所示的数据处理方法。
19.第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面的任一项实施例中所示的数据处理方法。
20.第五方面,本技术实施例提供了一种计算机产品,其特征在于,当计算机产品中的指令由服务器的处理器执行时,使得服务器能够执行第一方面的任一项实施例中所示的数据处理方法。
21.本技术实施例的数据处理方法、装置、设备及计算机存储介质,通过将获取到的第一数据文件导入到hive表中,生成第一记录数据,再将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比,在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录数据的闭链日期为无穷大,并将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。由于hive和hbase均是基于hadoop(一个由apache基金会所开发的分布式系统基础架构)的数据仓库,而hadoop平台在单集群可达近万台节点,因此,可以在单集群上进行pb以上级别的大数据处理,降低集群管理的复杂度。
附图说明
22.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是根据一示例性实施例示出的一种数据处理方法的流程图;
24.图2是根据一示例性实施例示出的另一种数据处理方法的流程图;
25.图3a是根据一示例性实施例示出的又一种数据处理方法的流程图;
26.图3b是根据一示例性实施例示出的再一种数据处理方法的流程图;
27.图3c是根据一示例性实施例示出的再一种数据处理方法的流程图;
28.图4是根据一示例性实施例示出的一种数据处理装置的结构示意图;
29.图5是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
30.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对
实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
31.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
32.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的镜像包文件验证方法、装置、电子设备及计算机存储介质进行详细地说明。
33.本技术所提供的数据处理方法,可应用于本技术所提供的数据表,也即hive和hbase的关联数据表,中,因此,在进行数据处理之前需要先创建该数据表并导入初始数据,下面对此进行详细阐述。
34.图1示出了本技术一个实施例提供的一种数据处理方法的流程示意图。
35.在一种可能的实施例中,在获取第一数据文件之前,如图1所示,该数据处理方法可以包括:s110-s120,具体如下:
36.s110,创建hive表。
37.这里,可以先创建hive表,由于hive可以是基于hadoop的数据仓库,而hadoop平台在单集群可达近万台节点,因此,基于hive表进行数据处理,可以降低集群管理的复杂度。该hive表可以包括外部表和内部表。
38.s120,通过基地管理员hbase存储处理器(hbase storage handler),将hive表的表名映射到hbase表的表名、hive表的列名映射到hbase表的列名、hive表的列簇映射到hbase表的列簇。
39.这里,可以通过hbase存储处理器将hive表和hbase表进行关联,hbase也可以是基于hadoop的数据仓库。由于hive表不支持更新和删除操作,因此单独使用hive表无法处理scd的建模应用场景,需要和hbase表进行关联,利用hbase表的版本管理功能,使所有的历史记录数据均能被保留。
40.在一个示例中,可以创建联系人维度表,具体的,可以设置row_key为代理主键,yyyymmdd-《10-digit contact code with leading zeros》为该代理主键键值的编码格式,该键值的编码格式可以由包括年月日的日期和带前导零的十位联系人编号组成,该日期可以为对应的联系人记录数据生成的日期。还可以设置info_code为自然主键,代表联系人编号;info_name为维度属性,代表联系人姓名;info_email为维度属性,代表联系人电子邮件;info_state为维度属性,代表联系人所在州;valid_from为数据拉链的开始日期属性,代表开链日期;valid_to为数据拉链的结束日期属性,代表闭链日期。此外,采用hbase存储处理器将hive表和hbase表进行关联,具体的,可以通过tblproperties语句指定hive表的表名映射到hbase表的表名,通过serdeproperties语句指定hive表的列名映射到hbase表的列名,以及hive表的列簇映射到hbase表的列簇。
41.如此,通过上述过程,可以将hive表和hbase表关联起来,通过hbase表来弥补hive表不支持更新和删除的缺点,使所有历史记录数据均能被保留下来。
42.基于此,在一种可选的实施方式中,在上述s120之后,该方法还可以包括:
43.获取第二数据文件;
44.将第二数据文件导入到hive表中,生成第六记录数据;
45.设置第六记录数据的开链日期为无穷小、第六记录数据的闭链日期为无穷大;
46.将第六记录数据、第六记录数据的开链日期和第六记录数据的闭链日期映射到hbase表中。
47.这里,第二数据文件可以为保存原始数据的文件,在创建完成hive和hbase的关联数据表后,可以将原始数据,也即第二数据文件,导入到hive表中,生成第六记录数据,并对该第六记录数据进行数据拉链处理。开链日期可以为数据拉链的开始日期,闭链日期可以为数据拉链的结束日期。无穷小可以是机器能识别的最早的历史日期,例如:1900年01月01日。无穷大可以是机器能识别的最晚的未来日期,例如:9999年01月01日。
48.由于,s120中将hive表的表名映射到了hbase表的表名,将hive表的列名映射到了hbase表的列名,将hive表的列簇映射到了hbase表的列簇,因此,在将第二数据文件导入到hive表中并进行闭链处理后,hive表中的第六记录数据、第六记录数据的开链日期和第六记录数据的闭链日期会被映射到hbase表中。
49.在一个示例中,可以导入原始联系人数据,具体的,可以设置scd2_contacts_initial_stage为hive外部表,用于挂载原始的联系人的逗号分隔值文件格式(comma-separated values,csv)数据文件;insert语句可以用于将该csv数据文件导入到联系人的hive内部表,如:scd2_contacts_target,生成第六记录数据,并可以设置第六记录数据的开链日期为1900-01-01,闭链日期初始化为9999-12-31;此外,hive外部表还可以包括scd2_contacts_update_stage,用于挂载增量更新的联系人相关csv数据文件。
50.如此,可以对hive和hbase的关联数据表进行初始化,将原始数据导入到该关联数据表中进行存储。
51.进一步,在一种可选的实施方式中,上述将第六记录数据、第六记录数据的开链日期和第六记录数据的闭链日期映射到hbase表中,具体可以包括:
52.将hive表中第六记录数据对应的列簇映射到hbase表中的任意空列簇,生成第七记录数据;
53.将hive表中第六记录数据的开链日期对应的列簇映射到hbase表中第七记录数据的开链日期对应的列簇;
54.将hive表中第六记录数据的闭链日期对应的列簇映射到hbase表中第七记录数据的闭链日期对应的列簇。
55.这里,由于,s120中将hive表的表名映射到了hbase表的表名,将hive表的列名映射到了hbase表的列名,将hive表的列簇映射到了hbase表的列簇,因此,在将第二数据文件导入到hive表中并进行闭链处理后,hive表中第六记录数据对应的列簇会被映射到hbase表中的任意空列簇,生成第七记录数据,hive表中第六记录数据的开链日期对应的列簇会被映射到hbase表中第七记录数据的开链日期对应的列簇,hive表中第六记录数据的闭链日期对应的列簇会被映射到hbase表中第七记录数据的闭链日期对应的列簇。
56.如此,可以充分利用hbase表的版本管理功能,保证所有的原始数据信息均能被保留在hbase表中,而不会丢失。
57.图2示出了本技术一个实施例提供的另一种数据处理方法的流程示意图。
58.如图2所示,该数据处理方法可以包括如下步骤:
59.首先,s210,获取第一数据文件;
60.其次,s220,将第一数据文件导入到hive表中,生成第一记录数据;
61.再次,s230,将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比;
62.然后,s240,在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录的闭链日期为无穷大;
63.最后,s250,将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。
64.由此,通过将获取到的第一数据文件导入到hive表中,生成第一记录数据,再将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比,在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录数据的闭链日期为无穷大,并将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。由于hive和hbase均是基于hadoop(一个由apache基金会所开发的分布式系统基础架构)的数据仓库,而hadoop平台在单集群可达近万台节点,因此,可以在单集群上进行pb以上级别的大数据处理,降低集群管理的复杂度。
65.下面,在对上述步骤s210-s250进行详细说明前,先对本技术实施例提供的数据处理方法的原理进行简单阐述。
66.通常处理scd场景时,可以采用图3a或图3b所示的方法。
67.图3a所示的方法为直接覆盖原值的方法,具体可以包括:s311-s314,其中:
68.s311,获取新增数据。
69.s312,判断数据表中是否存在该新增数据的历史记录。
70.这里,若存在则执行s313,若不存在,则执行s314。
71.s313,加载新记录。
72.这里,若数据表中不存在该新增数据的历史记录,则直接根据该新增数据添加新记录。
73.s314,替换历史记录。
74.这里,若数据表中存在该新增数据的历史记录,则根据该新增数据生成新记录,并由该新记录替换历史记录,也即只保存最新一条记录。
75.因此,图3a所示的方法没有保留历史数据,无法分析历史变化信息。
76.图3b所示的方法为添加属性列的方法,具体可以包括:s321-s325,
77.其中:
78.s321,获取新增数据。
79.s322,判断数据表中是否存在该新增数据的历史记录。
80.这里,若存在则执行s323,若不存在,则执行s325。
81.s323,确定该新增数据发生变化的属性。
82.s324,修改该发生变化的属性,并添加一列来记录该属性变化前的值。
83.这里,若数据表中存在该新增数据的历史记录,则可以修改该新增数据相比历史记录发生改变的属性,并添加一列来记录修改前的属性值。
84.s325,加载新记录。
85.这里,若数据表中不存在该新增数据的历史记录,则直接根据该新增数据添加新记录。
86.因此,图3b所示的方法虽然可以同时分析当前及前一次变化的属性值,但是只保留了最后一次变化信息,无法保留全部历史信息。
87.基于此,本技术实施例提供一种添加维度行的方法,如图3c所示,具体可以包括:s331-s335,其中:
88.s331,获取新增数据。
89.s332,判断数据表中是否存在该新增数据的历史记录。
90.这里,若存在则执行s333,若不存在,则执行s335。
91.s333,增加新记录。
92.这里看,若数据表中存在该新增数据的历史记录,则生成新记录。
93.s334,关联历史记录。
94.这里,若数据表中存在该新增数据的历史记录,则在生成新记录之后,还可以通过主键将新记录和历史记录进行关联。
95.s335,加载新记录。
96.这里,若数据表中不存在该新增数据的历史记录,则直接根据该新增数据添加新记录。
97.该图3c所示的方法中,当有维度属性发生变化时,可以生成一条新记录,通过主键和历史记录保持关联,从而可以保留所有的历史记录。
98.下面基于上述对本技术实施例采用的数据处理方法原理的阐述,对上述步骤s210-s250进行详细说明,具体如下所示:
99.首先,涉及s210,第一数据文件可以为保存新增数据的csv文件,该新增数据可以为原有对象的新增状态数据,也可以为新增对象及其状态数据。
100.其次,涉及s220,可以通过insert语句将第一数据文件导入到hive表中,生成第一记录数据,若第一数据文件中的新增数据为原有对象的新增状态数据,则生成的第一记录数据可以为原有对象的新增记录数据;若第一数据文件中的新增数据为新增对象及其状态数据,则生成的第一记录数据可以为新增对象及其记录数据。
101.再次,涉及s230,第一标识可以为第一记录数据对应的对象在hive表中独有的标识,第二标识可以为第二记录数据对应的对象在hive表中独有的标识,一个对象只对应一个标识,一个对象可以对应多条记录数据。通过将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比,可以确定该第一记录数据是原有对象的新增记录数据,还是新增对象及其记录数据。具体的,若第二标识中存在与第一标识一致的标识,则该第一记录数据是原有对象的新增记录数据;若第二标识中不存在与第一标识一致的标识,则该第一记录数据是新增对象及其记录数据。
102.然后,涉及s240,在第一标识与第二标识中的目标标识一致的情况下,可以表明该第一记录数据是原有对象的新增记录数据,可以对该第一记录数据和该目标标识对应的目标记录数据进行闭链处理。
103.最后,涉及s250,由于s120中将hive表的表名映射到了hbase表的表名,将hive表的列名映射到了hbase表的列名,将hive表的列簇映射到了hbase表的列簇,因此,在对第一记录数据和目标记录数据进行闭链处理之后,第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期可以被映射到hbase表中。
104.结合s210-s250,在一个示例中,通过对比hive表中原有对象的标识和新增数据记录的标识,可以确定该新增数据记录为原有对象的新增数据记录,因此,可以对该新增记录数据和该新增数据记录对应的目标对象的历史记录数据做闭链处理。
105.具体的,以联系人记录数据表为例,对新增数据记录对应的目标联系人的历史记录数据做闭链处理,将该历史记录数据的闭链日期设置为当前日期,也即获取第一数据文件的日期,开链日期保持不变。
106.同时,对新增记录数据进行闭链处理,将该新增记录数据的开链日期设置为当前日期,也即获取第一数据文件的日期,将该新增记录数据的闭链日期设置为9999-12-31,也即无穷大。
107.如此,可以充分利用hbase的版本数量,使每个row key的最大版本数量为2,也即初始加载版本和历史信息版本,避免给系统带来过重负担,其中,初始加载版本以无穷小为开链日期,以无穷大为闭链日期,历史信息版本以无穷小为开链日期,以无穷大为闭链日期。
108.基于此,在一种可选的实施方式中,上述s250具体可以包括:
109.将hive表中第一记录数据对应的列簇映射到hbase表中的任一空列簇,生成与第一记录数据对应的第三记录数据;
110.将hive表中第一记录数据的开链日期对应的列簇映射到hbase表中第三记录数据的开链日期对应的列簇;
111.将hive表中第一记录的闭链日期对应的列簇映射到hbase表中第三记录数据的闭链日期对应的列簇;
112.将hive表中目标记录数据的闭链日期对应的列簇映射到hbase表中第四记录数据的闭链日期对应的列簇。
113.这里,由于,在s120中将hive表的表名映射到了hbase表的表名,将hive表的列名映射到了hbase表的列名,将hive表的列簇映射到了hbase表的列簇,因此,在对第一记录数据和目标记录数据进行闭链处理之后,hive表中第一记录数据对应的列簇会被映射到hbase表中的任一空列簇,生成与第一记录数据对应的第三记录数据,hive表中第一记录数据的开链日期对应的列簇会被映射到hbase表中第三记录数据的开链日期对应的列簇,hive表中第一记录的闭链日期对应的列簇会被映射到hbase表中第三记录数据的闭链日期对应的列簇,hive表中目标记录数据的闭链日期对应的列簇会被映射到hbase表中第四记录数据的闭链日期对应的列簇。该第四记录数据为将hive表中目标记录数据对应的列簇映射到hbase表中的任一空列簇后,生成的与目标记录数据对应的记录数据。
114.如此,可以充分利用hbase表的版本管理功能,保证所有的历史记录数据和新增记
录数据均能被保留在hbase表中,不会丢失。
115.此外,在一种可选的实施方式中,在s230之后,上述数据处理方法还可以包括:
116.在第一标识与第二标识中的任意标识均不一致的情况下,设置第一记录数据的开链日期为无穷小、第一记录数据的闭链日期为无穷大;
117.将第一记录数据、第一记录数据的开链日期和第一记录的闭链日期映射到hbase表中。
118.这里,在第一标识与第二标识中的任意标识均不一致的情况下,可以表明该第一记录数据是新增对象及其记录数据,可以对该第一记录数据进行闭链处理。
119.在一个示例中,通过对比hive表中原有对象的标识和新增数据记录的标识,可以确定该新增数据记录为新增对象及其记录数据,因此,可以对该新增记录数据做闭链处理。
120.具体的,以联系人记录数据表为例,对新增数据记录做闭链处理,将该新增记录数据的开链日期设置为1900-01-01,也即无穷小,将该新增记录数据的闭链日期设置为9999-12-31,也即无穷大。
121.如此,可以将原hive表中没有的对象的记录数据存储到hive表中,并映射到hbase表中,完成新增对象的记录数据的存储。
122.基于此,在一种可选的实施方式中,上述将第一记录数据、第一记录数据的开链日期和第一记录的闭链日期映射到hbase表中,具体可以包括:
123.将hive表中第一记录数据对应的列簇映射到hbase表中的任意空列簇,生成与第一记录数据对应的第五记录数据;
124.将hive表中第一记录数据的开链日期对应的列簇映射到hbase表中第五记录数据的开链日期对应的列簇;
125.将hive表中第一记录的闭链日期对应的列簇映射到hbase表中第五记录数据的闭链日期对应的列簇。
126.这里,由于,在s120中将hive表的表名映射到了hbase表的表名,将hive表的列名映射到了hbase表的列名,将hive表的列簇映射到了hbase表的列簇,因此,在对第一记录数据进行闭链处理之后,hive表中第一记录数据对应的列簇会被映射到hbase表中的任意空列簇,生成与第一记录数据对应的第五记录数据,hive表中第一记录数据的开链日期对应的列簇会被映射到hbase表中第五记录数据的开链日期对应的列簇,hive表中第一记录的闭链日期对应的列簇会被映射到hbase表中第五记录数据的闭链日期对应的列簇。
127.如此,可以充分利用hbase表的版本管理功能,保证所有新增对象的记录数据均能被保留在hbase表中,不会丢失。
128.此外,在一种可选的实施方式中,上述所有开链日期和闭链日期均可以通过insert语句进行设置。
129.如此,可以无需使用sql中传统的更新操作进行数据闭链,从而弥补hive因不支持更新操作而无法进行数据闭链的缺点。
130.基于相同的发明构思,本技术还提供了一种数据处理装置。下面结合图4对本技术实施例提供的数据处理装置进行详细说明。
131.图4是根据一示例性实施例示出的一种数据处理装置的结构框图。
132.如图4所示,该数据处理装置可以包括:
133.第一获取模块401,用于获取第一数据文件;
134.第一生成模块402,用于将第一数据文件导入到hive表中,生成第一记录数据;
135.对比模块403,用于将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比;
136.第一设置模块404,用于在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录的闭链日期为无穷大;
137.第一映射模块405,用于将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。
138.在其中一个实施例中,第一映射模块405,具体可以包括:
139.第一映射子模块,用于将hive表中第一记录数据对应的列簇映射到hbase表中的任一空列簇,生成与第一记录数据对应的第三记录数据;
140.第二映射子模块,用于将hive表中第一记录数据的开链日期对应的列簇映射到hbase表中第三记录数据的开链日期对应的列簇;
141.第三映射子模块,用于将hive表中第一记录的闭链日期对应的列簇映射到hbase表中第三记录数据的闭链日期对应的列簇;
142.第四映射子模块,用于将hive表中目标记录数据的闭链日期对应的列簇映射到hbase表中第四记录数据的闭链日期对应的列簇,第四记录数据为将hive表中目标记录数据对应的列簇映射到hbase表中的任一空列簇后,生成的与目标记录数据对应的记录数据。
143.在其中一个实施例中,该数据处理装置还可以包括:
144.第二设置模块,用于在将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比之后,在第一标识与第二标识中的任意标识均不一致的情况下,设置第一记录数据的开链日期为无穷小、第一记录数据的闭链日期为无穷大;
145.第二映射模块,用于将第一记录数据、第一记录数据的开链日期和第一记录的闭链日期映射到hbase表中。
146.在其中一个实施例中,第二映射模块,具体可以包括:
147.第五映射子模块,用于将hive表中第一记录数据对应的列簇映射到hbase表中的任意空列簇,生成与第一记录数据对应的第五记录数据;
148.第六映射子模块,用于将hive表中第一记录数据的开链日期对应的列簇映射到hbase表中第五记录数据的开链日期对应的列簇;
149.第七映射子模块,用于将hive表中第一记录的闭链日期对应的列簇映射到hbase表中第五记录数据的闭链日期对应的列簇。
150.在其中一个实施例中,该数据处理装置还可以包括:
151.创建模块,用于在获取数据文件之前,创建hive表;
152.第三映射模块,用于通过基地管理员hbase存储处理器,将hive表的表名映射到hbase表的表名、hive表的列名映射到hbase表的列名、hive表的列簇映射到hbase表的列簇。
153.在其中一个实施例中,该数据处理装置还可以包括:
154.第二获取模块,用于在通过基地管理员hbase存储处理器,将hive表的表名映射到
hbase表的表名、hive表的列名映射到hbase表的列名、hive表的列簇映射到hbase表的列簇之后,获取第二数据文件;
155.第二生成模块,用于将第二数据文件导入到hive表中,生成第六记录数据;
156.第三设置模块,用于设置第六记录数据的开链日期为无穷小、第六记录数据的闭链日期为无穷大;
157.第四映射模块,用于将第六记录数据、第六记录数据的开链日期和第六记录数据的闭链日期映射到hbase表中。
158.在其中一个实施例中,第四映射模块,具体可以包括:
159.第八映射子模块,用于将hive表中第六记录数据对应的列簇映射到hbase表中的任意空列簇,生成第七记录数据;
160.第九映射子模块,用于将hive表中第六记录数据的开链日期对应的列簇映射到hbase表中第七记录数据的开链日期对应的列簇;
161.第十映射子模块,用于将hive表中第六记录数据的闭链日期对应的列簇映射到hbase表中第七记录数据的闭链日期对应的列簇。
162.在其中一个实施例中,开链日期和闭链日期通过insert语句进行设置。
163.由此,通过将获取到的第一数据文件导入到hive表中,生成第一记录数据,再将第一记录数据的第一标识与hive表中存储的每个第二记录数据的第二标识进行对比,在第一标识与第二标识中的目标标识一致的情况下,设置第二记录数据中与目标标识对应的目标记录数据的闭链日期为获取第一数据文件的日期、第一记录数据的开链日期为获取第一数据文件的日期、第一记录数据的闭链日期为无穷大,并将第一记录数据、第一记录数据的开链日期、第一记录的闭链日期和目标记录数据的闭链日期映射到hbase表中。由于hive和hbase均是基于hadoop(一个由apache基金会所开发的分布式系统基础架构)的数据仓库,而hadoop平台在单集群可达近万台节点,因此,可以在单集群上进行pb以上级别的大数据处理,降低集群管理的复杂度。
164.图5是根据一示例性实施例示出的一种电子设备的结构示意图。
165.如图5所示,该电子设备5能够实现根据本技术实施例中的数据处理方法以及数据处理装置的电子设备的示例性硬件架构的结构图。该电子设备可以指代本技术实施例中的电子设备。
166.该电子设备5可以包括处理器501以及存储有计算机程序指令的存储器502。
167.具体地,上述处理器501可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
168.存储器502可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom
(earom)或闪存,或者两个或及其以上这些的组合。
169.处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现图1到图3所示实施例中的方法,并达到相应技术效果,为简洁描述在此不再赘述。
170.在一个实施例中,该电子设备5还可包括收发器503和总线504。其中,如图5所示,处理器501、存储器502和收发器503通过总线504连接并完成相互间的通信。
171.总线504包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围控件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线504可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
172.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本技术实施例所记载的数据处理方法。
173.在一些可能的实施方式中,本技术提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本技术实施例所记载的数据处理方法。
174.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
175.本技术是参照根据本技术的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
176.这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
177.这些计算机程序指令也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
178.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精
神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1