CN113177090A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN113177090A CN113177090A CN202110486492.XA CN202110486492A CN113177090A CN 113177090 A CN113177090 A CN 113177090A CN 202110486492 A CN202110486492 A CN 202110486492A CN 113177090 A CN113177090 A CN 113177090A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- storage
- target
- row key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 230000001360 synchronised effect Effects 0.000 claims abstract description 137
- 238000005192 partition Methods 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 17
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 14
- 238000013075 data extraction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置。其中,该方法包括:根据配置文件,读取待同步数据并存储至预设内存结构中;在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合;根据待同步数据要同步的目标存储器,确定目标存储器中多个存储分区对应的行键值;根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中。本发明解决了相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
Description
技术领域
本发明涉及数据控制领域,具体而言,涉及一种数据处理方法及装置。
背景技术
数据仓库hive中数据同步入分布式列式存储数据库hbase的常见方法有循环单条或者循环批量写入的方式。这种方式中,在面临数据量过大或者数据属性较多的情况时,常出现因为存储磁盘频繁读写操作或者集群资源不足以支撑高并发访问,导致同步过程耗时较长,占用系统资源严重,甚至会导致同步过程失败。
为此在针对海量(几亿数据、几十亿甚至几百亿)数据导入时,一种比较友好的方式是先生成hbase的数据格式存储文件--Hfile文件,然后通过批量数据文件加载工具bulkload的将文件加载入hbase。
但是传统的生成Hfile文件方式是基于MapReduce技术,这种技术下处理过程中资源使用较大,资源使用总量不可控制,系统负载重,磁盘读写速度较慢。且每次处理的逻辑都是独立的,每新增一部分数据同步需求,就需要重新开发,效率较低。
传统的生成Hfile文件方式是基于MapReduce技术,但是这种方式下处理过程中需要将待处理的数据,切分成数量较多的任务处理,每个任务独立申请资源,独立与磁盘交互。整体过程中资源使用较大,资源使用总量无法精确化控制,系统负载重。磁盘读写操作频繁,导致磁盘读写成为处理过程中的瓶颈。在测试过程中发现1TB以上的属性较多数据从hive同步hbase通常需要耗时在2小时以上。
每同步不同的数据源,都需要额外开发一套处理逻辑,没有抽象出共同点复用,软件开发成本较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法及装置,以至少解决相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:根据配置文件,读取待同步数据并存储至预设内存结构中;在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合;根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值;根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中。
可选的,在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合包括:在所述预设内存结构中,对所述待同步数据进行转换,生成列名有序集合,其中,所述列名有序集合包括所述待同步数据中除指定为行键值的数据列之外的所有数据列的序列,所述序列包括所述数据列的列名以及所述数据列的数据记录对应的列值;根据所述列名有序集合中的行键值,对所述列名有序集合中的序列进行排序,生成序列集合。
可选的,根据配置文件,读取待同步数据并存储至预设内存结构中包括:根据所述配置文件,确定用于发送所述待同步数据的源装置和接收所述待同步数据的目标装置,其中,所述配置文件用于所述源装置和目标装置进行访问,所述配置文件包括所述源装置的标识,所述目标装置的标识,以及所述待同步数据所需的资源量;从所述源装置中获取所述待同步数据,将所述待同步数据存储至所述预设内存结构中。
可选的,根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值包括:根据所述配置文件获取所述目标存储器的多个存储单元,以及每个存储单元对应的多个分区,其中,多个所述存储单元用于存储所述待同步数据;根据多个分区的分区范围,确定不同分区对应的行键值,其中,所述分区范围包括所述分区的开始记录编号至结束记录编号。
可选的,根据所述配置文件获取所述目标存储器的多个存储单元,以及每个存储单元对应的多个分区包括:根据所述目标存储器获取所述配置文件;根据所述配置文件中的所述待同步数据所需的资源量,确定所述目标存储器中的多个存储单元;根据多个所述存储单元,确定每个存储单元对应的多个分区。
可选的,根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中包括:将所述序列集合拆分为多个序列,将多个所述序列与所述行键值一一对应;根据多个序列和所述序列对应的行键值,生成所述目标存储器的存储格式文件;将所述存储格式文件导入所述目标存储器,以将所述待同步数据存储到所述目标存储器中。
可选的,将所述存储格式文件导入所述目标存储器包括:通过批量数据文件加载工具将所述存储格式文件批量加载至所述目标存储器。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:读取模块,用于根据配置文件,读取待同步数据并存储至预设内存结构中;生成模块,用于在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合;确定模块,用于根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值;存储模块,用于根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的数据处理方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的数据处理方法。
在本发明实施例中,采用根据配置文件,读取待同步数据并存储至预设内存结构中;在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合;根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值;根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中的方式,达到了根据配置文件对目标存储器的存储单元进行确定,以通过序列集合将待同步数据存储到目标存储器中的目的,从而实现了提高了待同步数据同步的准确性,避免对系统资源进行多余占用,降低系统负载的技术效果,进而解决了相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据处理方法的流程图;
图2是根据本发明实施方式的数据同步方法的流程图;
图3是根据本发明实施方式的数据同步方法具体步骤的流程图;
图4是根据本发明实施例的一种数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本实施例中,出现的专业名词进行解释:
Hadoop:Hadoop是一个由Apache基金会所提供的大数据分布式系统基础架构。
MapReduce:以“Map(映射)”和“Reduce(归约)”思想构建的一种编程模型。
HDFS:Hadoop分布式文件系统。
Hive:基于Hadoop的一个数据仓库。
Hbase:是一个高可靠性、高性能、面向列、可伸缩的分布式列式存储数据库。
HFile:HBase的数据存储格式文件。
Bulkload:Hbase常用的一种大批量数据文件加载工具。
hbase rowkey:Hbase表的行键。
Regionserver:hbase存储数据库节点。
region:Hbase数据库节点上的数据存储单元。
Spark:是一种专为大规模数据处理而设计的基于内存计算的快速通用的引擎。
Dataframe:spark特定的存储数据的内存结构之一。
RDD:弹性分布式数据集,spark数据存储在内存中一种抽象结构。
Xml文件:一种用于标记电子文件使其具有结构性的标记语言文件,常用来标记数据、定义数据类型,并允许用户对其中要素自定义。
根据本发明实施例,提供了一种数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,根据配置文件,读取待同步数据并存储至预设内存结构中;
步骤S104,在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合;
步骤S106,根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值;
步骤S108,根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中。
通过上述步骤,采用根据配置文件,读取待同步数据并存储至预设内存结构中;在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合;根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值;根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中的方式,达到了根据配置文件对目标存储器的存储单元进行确定,以通过序列集合将待同步数据存储到目标存储器中的目的,从而实现了提高了待同步数据同步的准确性,避免对系统资源进行多余占用,降低系统负载的技术效果,进而解决了相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
上述步骤执行主体可以为分布式文件系统,例如,Hadoop分布式文件系统,即HDFS。上述待同步数据可以为源装置需要向目标存储器发送的数据,上述源装置可以为上述HDFS的数据仓库Hive。上述目标存储器可以为Hbase,一个高可靠性、高性能、面向列、可伸缩的分布式列式存储数据库。
数据仓库hive中数据同步入分布式列式存储数据库hbase的常见方法有循环单条或者循环批量写入的方式。这种方式中,在面临数据量过大或者数据属性较多的情况时,常出现因为存储磁盘频繁读写操作或者集群资源不足以支撑高并发访问,导致同步过程耗时较长,占用系统资源严重,甚至会导致同步过程失败。
上述预设存储结构可以为spark引擎特定的存储数据的内存结构dataframe。上述Spark引擎是一种专为大规模数据处理而设计的基于内存计算的快速通用的引擎。Spark具有统一的资源管理机制,通过以执行器数量的方式申请和管理内存、CPU等计算资源,有效的控制每个任务可以分配的资源数量。
通过调用spark引擎,将上述待同步数据存储在spark引擎的特定存储位置。具体的,spark根据配置文件的数据提取语句,将hive中数据读取到内存中spark特定的存储数据的内存结构dataframe。spark引擎在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合。该序列集合包括预设内存结构中待同步数据的除指定作为行键值列之外的所有数据列的列名有序排序的[(列名,列值)]的有序集合。
根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值。上述配置文件可以包括待同步数据所需的待分配的系统资源量,通过该系统资源量确定目标存储器中所需的存储分区,并确定存储分区对应的行键值。通过行键值存储待同步数据不同的数据列。以实现根据待同步数据的需求,来分配系统资源,进而实现了提高了待同步数据同步的准确性,避免对系统资源进行多余占用,降低系统负载的技术效果,进而解决了相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
可选的,在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合包括:在预设内存结构中,对待同步数据进行转换,生成列名有序集合,其中,列名有序集合包括待同步数据中除指定为行键值的数据列之外的所有数据列的序列,序列包括数据列的列名以及数据列的数据记录对应的列值;根据列名有序集合中的行键值,对列名有序集合中的序列进行排序,生成序列集合。
具体的,在预设内存结构DataFrame中将待同步数据的除指定作为行键值rowkey列之外的所有列名(hive表中的各个字段名)的所有记录转换成spark引擎弹性分布式数据集RDD,形成按照数据列的列名有序排序的[(列名,列值)]序列集合的RDD结构。
可选的,根据配置文件,读取待同步数据并存储至预设内存结构中包括:根据配置文件,确定用于发送待同步数据的源装置和接收待同步数据的目标装置,其中,配置文件用于源装置和目标装置进行访问,配置文件包括源装置的标识,目标装置的标识,以及待同步数据所需的资源量;从源装置中获取待同步数据,将待同步数据存储至预设内存结构中。
上述配置文件可以被上述spark引擎和目标存储器,也即是上述Hbase,有效识别,上述配置文件可以为通用xml格式。上述配置文件可以预先设置本次数据同步所需的hive表名(也即是源系统的标识)、数据提取语句、hbase表名(也即是目标系统的标识)、hbase列族名、hbase行键名rowkey、hfile文件路径、hbase存储单元数量、待分配的系统资源量。
可选的,根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值包括:根据配置文件获取目标存储器的多个存储单元,以及每个存储单元对应的多个分区,其中,多个存储单元用于存储待同步数据;根据多个分区的分区范围,确定不同分区对应的行键值,其中,分区范围包括分区的开始记录编号至结束记录编号。
根据配置文件获取目标存储器的多个存储单元,可以根据配置文件中待同步数据的所需分配的系统资源,确定目标存储器中需要准备的多个存储单元,并确定多个存储单元。每个存储单元包括多个分区,每个分区具有不同的分区范围,用来存储数据,不同的分区分配不同的行键值,将不同分区与上述待同步数据的序列集合中的行键值进行对应,从而对分区分配行键值,通过行键值将待同步数据的数据列存储在目标存储器的分区中。
可选的,根据配置文件获取目标存储器的多个存储单元,以及每个存储单元对应的多个分区包括:根据目标存储器获取配置文件;根据配置文件中的待同步数据所需的资源量,确定目标存储器中的多个存储单元;根据多个存储单元,确定每个存储单元对应的多个分区。
通过目标存储器获取配置文件,根据配置文件中的待同步数据所处的资源量,确定目标存储器中的多个存储单元,每个存储单元包括多个分区,在存储单元确定后,其分区就可以确定。进而根据配置文件,在目标存储器中确定用于存储待同步数据的不同的数据列的存储单元的分区,以便后续对待同步数据的数据列进行存储。
可选的,根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中包括:将序列集合拆分为多个序列,将多个序列与行键值一一对应;根据多个序列和序列对应的行键值,生成目标存储器的存储格式文件;将存储格式文件导入目标存储器,以将待同步数据存储到目标存储器中。
在序列集合中不同的数据列对应不同的行键值,根据序列集合不同数据列与行键值列的对应关系,将序列集合拆分为多个序列,并将多个序列与行键值一一对应,生成多个序列-行键值数据,根据行键值对上述对应的序列-行键值数据进行排序,生成目标存储器可以识别的存储格式文件,例如,目标存储器为上述Hbase,上述存储格式文件可以为Hfile文件。将该存储格式文件导入上述目标存储器中,实现将待同步数据存储早目标存储器中。
可选的,将存储格式文件导入目标存储器包括:通过批量数据文件加载工具将存储格式文件批量加载至目标存储器。
使用bulkload批量数据文件加载工具加载HFILE文件入Hbase。可以提高待同步数据的存储效率,进而提高待同步数据从源系统传输到上述目标存储器的效率。
需要说明的是,本申请实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式提供了一种基于内存计算引擎spark技术下,达到处理过程中资源使用可控,在需要同步数据提前配置情况下,实现数据仓库hive中海量数据快速导入Hbase。
Spark具有统一的资源管理机制,通过以执行器数量的方式申请和管理内存、CPU等计算资源,有效的控制每个任务可以分配的资源数量。
传统的基于映射归约编程模型MapReduce技术生成Hfile文件的方法可行,但是这个过程中资源控制上存在巨大的缺陷,且资源消耗较大。
以上两者各有优势,若能将此二者结合起来,就达到在资源可控的条件下,将海量数据从数据仓库同步到分布式列式数据库的目的。
本实施方式通过借助XML格式文件的广泛适用性及spark在内存控制上的精确性及内存运算远快于磁盘计算的特性,达到在生成Hfile文件过程中,申请分配的资源可以控制,处理过程速度可以提升,软件功能可以复用的目的。
图2是根据本发明实施方式的数据同步方法的流程图,如图2所示,本实施方式通过预先设置的配置文件再加上使用spark内存处理技术生成Hfile文件,然后通过BulkLoad将Hfile通过hbase数据库节点regionserver移动到相应的数据库节点上的数据存储单元region上。从而实现hive中数据快速导入Hbase。
图3是根据本发明实施方式的数据同步方法具体步骤的流程图,如图3所示,具体实现步骤如下:
步骤1:预设参数;
首先在通用xml格式的配置文件上,预先设置本次数据同步所需的hive表名、数据提取语句、hbase表名、hbase列族名、hbase行键名rowkey、hfile文件路径、hbase存储单元数量、待分配的系统资源量。
步骤2:解析参数创建分布式列式数据库目标表;
根据预分配根据预设的配置参数,检核目标hbase表是否存在,若目标表不存在时,程序会根据hbase表名、列族名、以及region数量来创建hbase表。
步骤3:读取数据仓库数据保存到内存结构;
spark根据配置的数据提取语句,将hive中数据读取到内存中spark特定的存储数据的内存结构dataframe。
步骤4:在内存中生成列名有序的序列记录集合;
在内存中将DataFrame中的除指定作为rowkey列之外的所有列名(hive表中的各个字段名)的所有记录转换成spark弹性分布式数据集RDD,形成按照列名有序排序的[(列名,列值)]序列集合的RDD结构。
步骤5:构建含有存储单元信息的分区信息;
从hbase表中获取所有region的存储单元中的分区信息,即每个存储单元内部各个分区的开始记录编号与结束记录编号。并依据每个分区的范围决定不同rowkey行键值的记录同步入的分区编号。
步骤6:对内存序列集合按照行键排序;
对前面生成的列名有序集合的RDD,按照rowKey做排序工作。
步骤7:生成目标数据记录格式数据文件;
将序列集合拆分为每个序列,并将每个序列与rowKey一一对应,拆分后的每个序列依旧保持与rowkey对应有序排列。然后将这种对应组合生成为Hfile文件。
步骤8:数据文件同步导入目标数据库;
使用bulkload批量数据文件加载工具加载HFILE文件入Hbase。
现存的解决方案都是根据明确的数据源和明确的目标体,采用工具在这两者之间进行大数据同步。这种方式存在两个缺陷1)无法通用适配,每个数据源和目标体都需要重新开发2)灵活配置性差,当数据源和目标体出现变动时候,修改较多。无法快速灵活配置适应。
本实施方式保护这种能够根据配置文件,实现通用适配且能够达到通过灵活参数配置实现基于内存计算的大数据同步机制的技术流程框架处理方案。以及保护在同步过程中能够根据目标存储单元中的分区信息,自动将对应的数据映射分配到不同的分区中。
本实施方式解决了在MapReduce的方式下进行数据同步时候消耗资源过高的缺陷,同时采用一种通用的方式,通过配置完成数据抽取、生成文件,加载文件的全过程,不用每个不同的同步都写一份同步代码,具有较好的通用性。
同时数据从hive同步至hbase的耗时也较之前有明显压缩,同步1TB以上数据用时从2小时降至30分钟之内。
图4是根据本发明实施例的一种数据处理装置的示意图,如图4所示,根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:读取模块42,生成模块44,确定模块46和存储模块48,下面对该装置进行详细说明。
读取模块42,用于根据配置文件,读取待同步数据并存储至预设内存结构中;生成模块44,与上述读取模块42相连,用于在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合;确定模块46,与上述生成模块44相连,用于根据所述待同步数据要同步的目标存储器,确定所述目标存储器中多个存储分区对应的行键值;存储模块48,与上述确定模块46相连,用于根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中。
通过上述装置,采用读取模块42根据配置文件,读取待同步数据并存储至预设内存结构中;生成模块44在预设内存结构中,对待同步数据的数据列按照数据列的行键值进行排序,生成序列集合;确定模块46根据配置文件,确定待同步数据要同步的目标存储器中多个存储分区对应的行键值;存储模块48根据序列集合中序列与行键值的对应关系,将待同步数据存储到目标存储器中的方式,达到了根据配置文件对目标存储器的存储单元进行确定,以通过序列集合将待同步数据存储到目标存储器中的目的,从而实现了提高了待同步数据同步的准确性,避免对系统资源进行多余占用,降低系统负载的技术效果,进而解决了相关技术中的数据处理方法,对系统资源使用较大,无法精确化控制,导致对系统的负载较重的技术问题。
可选的,生成模块包括:转换单元,用于在预设内存结构中,对待同步数据进行转换,生成列名有序集合,其中,列名有序集合包括待同步数据中除指定为行键值的数据列之外的所有数据列的序列,序列包括数据列的列名以及数据列的数据记录对应的列值;第一生成单元,用于根据列名有序集合中的行键值,对列名有序集合中的序列进行排序,生成序列集合。
可选的,读取模块包括:第一确定单元,用于根据配置文件,确定用于发送待同步数据的源装置和接收待同步数据的目标装置,其中,配置文件用于源装置和目标装置进行访问,配置文件包括源装置的标识,目标装置的标识,以及待同步数据所需的资源量;获取单元,用于从源装置中获取待同步数据,将待同步数据存储至预设内存结构中。
可选的,确定模块包括:获取单元,用于根据配置文件获取目标存储器的多个存储单元,以及每个存储单元对应的多个分区,其中,多个存储单元用于存储待同步数据;第二确定单元,用于根据多个分区的分区范围,确定不同分区对应的行键值,其中,分区范围包括分区的开始记录编号至结束记录编号。
可选的,获取单元包括:获取子单元,用于根据目标存储器获取配置文件;确定子单元,用于根据配置文件中的待同步数据所需的资源量,确定目标存储器中的多个存储单元。
可选的,存储模块包括:拆分单元,用于将序列集合拆分为多个序列,将多个序列与行键值一一对应;第二生成单元,用于根据多个序列和序列对应的行键值,生成目标存储器的存储格式文件;导入单元,用于将存储格式文件导入目标存储器,以将待同步数据存储到目标存储器中。
可选的,导入单元包括:加载子单元,用于通过批量数据文件加载工具将存储格式文件批量加载至目标存储器。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的数据处理方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的数据处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
根据配置文件,读取待同步数据并存储至预设内存结构中;
在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合;
根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值;
根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中。
2.根据权利要求1所述的方法,其特征在于,在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合包括:
在所述预设内存结构中,对所述待同步数据进行转换,生成列名有序集合,其中,所述列名有序集合包括所述待同步数据中除指定为行键值的数据列之外的所有数据列的序列,所述序列包括所述数据列的列名以及所述数据列的数据记录对应的列值;
根据所述列名有序集合中的行键值,对所述列名有序集合中的序列进行排序,生成序列集合。
3.根据权利要求1所述的方法,其特征在于,根据配置文件,读取待同步数据并存储至预设内存结构中包括:
根据所述配置文件,确定用于发送所述待同步数据的源装置和接收所述待同步数据的目标装置,其中,所述配置文件用于所述源装置和目标装置进行访问,所述配置文件包括所述源装置的标识,所述目标装置的标识,以及所述待同步数据所需的资源量;
从所述源装置中获取所述待同步数据,将所述待同步数据存储至所述预设内存结构中。
4.根据权利要求3所述的方法,其特征在于,根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值包括:
根据所述配置文件获取所述目标存储器的多个存储单元,以及每个存储单元对应的多个分区,其中,多个所述存储单元用于存储所述待同步数据;
根据多个分区的分区范围,确定不同分区对应的行键值,其中,所述分区范围包括所述分区的开始记录编号至结束记录编号。
5.根据权利要求4所述的方法,其特征在于,根据所述配置文件获取所述目标存储器的多个存储单元,以及每个存储单元对应的多个分区包括:
根据所述目标存储器获取所述配置文件;
根据所述配置文件中的所述待同步数据所需的资源量,确定所述目标存储器中的多个存储单元;
根据多个所述存储单元,确定每个存储单元对应的多个分区。
6.根据权利要求1所述的方法,其特征在于,根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中包括:
将所述序列集合拆分为多个序列,将多个所述序列与所述行键值一一对应;
根据多个序列和所述序列对应的行键值,生成所述目标存储器的存储格式文件;
将所述存储格式文件导入所述目标存储器,以将所述待同步数据存储到所述目标存储器中。
7.根据权利要求6所述的方法,其特征在于,将所述存储格式文件导入所述目标存储器包括:
通过批量数据文件加载工具将所述存储格式文件批量加载至所述目标存储器。
8.一种数据处理装置,其特征在于,包括:
读取模块,用于根据配置文件,读取待同步数据并存储至预设内存结构中;
生成模块,用于在所述预设内存结构中,对所述待同步数据的数据列按照所述数据列的行键值进行排序,生成序列集合;
确定模块,用于根据所述配置文件,确定所述待同步数据要同步的目标存储器中多个存储分区对应的行键值;
存储模块,用于根据所述序列集合中序列与行键值的对应关系,将所述待同步数据存储到所述目标存储器中。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的数据处理方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1至7中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486492.XA CN113177090A (zh) | 2021-04-30 | 2021-04-30 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110486492.XA CN113177090A (zh) | 2021-04-30 | 2021-04-30 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113177090A true CN113177090A (zh) | 2021-07-27 |
Family
ID=76928091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110486492.XA Pending CN113177090A (zh) | 2021-04-30 | 2021-04-30 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113177090A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672687A (zh) * | 2021-10-25 | 2021-11-19 | 北京值得买科技股份有限公司 | 一种电商大数据处理方法、装置、设备及存储介质 |
CN114722048A (zh) * | 2022-05-10 | 2022-07-08 | 苏州峰之鼎信息科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN115116060A (zh) * | 2022-08-25 | 2022-09-27 | 深圳前海环融联易信息科技服务有限公司 | 键值文件处理方法、装置、设备、介质和计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035956A (zh) * | 2014-04-11 | 2014-09-10 | 江苏瑞中数据股份有限公司 | 一种基于分布式列存储的时间序列数据存储方法 |
US20150074115A1 (en) * | 2013-09-10 | 2015-03-12 | Tata Consultancy Services Limited | Distributed storage of data |
US20180074855A1 (en) * | 2016-09-14 | 2018-03-15 | Cloudera, Inc. | Utilization-aware resource scheduling in a distributed computing cluster |
CN111090645A (zh) * | 2019-10-12 | 2020-05-01 | 平安科技(深圳)有限公司 | 基于云存储的数据传输方法、装置及计算机设备 |
CN111159235A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 数据预分区方法、装置、电子设备及可读存储介质 |
CN111159140A (zh) * | 2019-12-31 | 2020-05-15 | 咪咕文化科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-30 CN CN202110486492.XA patent/CN113177090A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074115A1 (en) * | 2013-09-10 | 2015-03-12 | Tata Consultancy Services Limited | Distributed storage of data |
CN104035956A (zh) * | 2014-04-11 | 2014-09-10 | 江苏瑞中数据股份有限公司 | 一种基于分布式列存储的时间序列数据存储方法 |
US20180074855A1 (en) * | 2016-09-14 | 2018-03-15 | Cloudera, Inc. | Utilization-aware resource scheduling in a distributed computing cluster |
CN111090645A (zh) * | 2019-10-12 | 2020-05-01 | 平安科技(深圳)有限公司 | 基于云存储的数据传输方法、装置及计算机设备 |
WO2021068351A1 (zh) * | 2019-10-12 | 2021-04-15 | 平安科技(深圳)有限公司 | 基于云存储的数据传输方法、装置及计算机设备 |
CN111159235A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 数据预分区方法、装置、电子设备及可读存储介质 |
CN111159140A (zh) * | 2019-12-31 | 2020-05-15 | 咪咕文化科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672687A (zh) * | 2021-10-25 | 2021-11-19 | 北京值得买科技股份有限公司 | 一种电商大数据处理方法、装置、设备及存储介质 |
CN113672687B (zh) * | 2021-10-25 | 2022-02-15 | 北京值得买科技股份有限公司 | 一种电商大数据处理方法、装置、设备及存储介质 |
CN114722048A (zh) * | 2022-05-10 | 2022-07-08 | 苏州峰之鼎信息科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN114722048B (zh) * | 2022-05-10 | 2024-01-30 | 苏州峰之鼎信息科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN115116060A (zh) * | 2022-08-25 | 2022-09-27 | 深圳前海环融联易信息科技服务有限公司 | 键值文件处理方法、装置、设备、介质和计算机程序产品 |
CN115116060B (zh) * | 2022-08-25 | 2023-01-24 | 深圳前海环融联易信息科技服务有限公司 | 键值文件处理方法、装置、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339041B (zh) | 文件解析入库、文件生成方法及装置 | |
Vora | Hadoop-HBase for large-scale data | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN101405728B (zh) | 具有动态加载能力的关系数据库架构 | |
CN110795499B (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
CN104133867A (zh) | 分布式顺序表片内二级索引方法及系统 | |
WO2015109250A1 (en) | CREATING NoSQL DATABASE INDEX FOR SEMI-STRUCTURED DATA | |
CN112286941B (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
CN106970929B (zh) | 数据导入方法及装置 | |
CN109669925B (zh) | 非结构化数据的管理方法及装置 | |
CN109902114B (zh) | Es集群数据复用方法、系统、计算机装置及存储介质 | |
CN105608126A (zh) | 一种建立海量数据库二级索引的方法和装置 | |
CN111061758A (zh) | 数据存储方法、装置及存储介质 | |
CN114416868B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN108763323A (zh) | 基于资源集和大数据技术的气象格点文件应用方法 | |
CN101645073A (zh) | 一种将已有数据库文件导入嵌入式数据库的方法 | |
CN112131214A (zh) | 数据写入、数据查询的方法、系统、设备和存储介质 | |
CN115470235A (zh) | 一种数据处理方法、装置以及设备 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN113590651B (zh) | 一种基于hql的跨集群数据处理系统及方法 | |
CN112835932B (zh) | 业务表的批量处理方法及装置、非易失性存储介质 | |
CN114090547A (zh) | 一种数据迁移的方法、装置、计算机设备及存储介质 | |
CN111858616A (zh) | 流式数据存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |