CN114090585A - 批量数据处理方法、装置、计算机设备及存储介质 - Google Patents
批量数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114090585A CN114090585A CN202111432591.6A CN202111432591A CN114090585A CN 114090585 A CN114090585 A CN 114090585A CN 202111432591 A CN202111432591 A CN 202111432591A CN 114090585 A CN114090585 A CN 114090585A
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- batch
- specific
- information
- 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 26
- 230000011218 segmentation Effects 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
-
- 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/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例属于大数据领域,涉及一种批量数据处理方法、装置、计算机设备及存储介质,方法包括:获取批量数据表;获取批量数据表的数据特异性信息和分割配置信息;根据数据特异性信息和分割配置信息,对批量数据表进行拆分,得到若干个数据子表;对于每个数据子表,确定数据子表所对应的spark节点;通过spark节点获取数据子表,并通过spark节点对数据子表进行数据处理,得到数据处理结果。此外,本申请还涉及区块链技术,数据特异性信息还可存储于区块链中。本申请提高了批量数据处理效率。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种批量数据处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的业务系统开始采用spark进行批量数据处理,例如对数据进行清洗、筛选和加工。通常,会在Oracle库中设置数据表,存储数据处理所需的各种数据,例如来自上游的业务数据。
由于Oracle库连接串的限制,如果通过较多并发读取数据表,会导致数据读取速度较慢。因此,现在也常常通过sqoop任务将Oracle库数据表中的数据导入hive库中,供spark集群读取。然而,这需要额外开发sqoop任务,还需要在hive库中建表,较大地消耗了开发资源;当Oracle库中数据表更新时,需要及时通过sqoop任务更新hive库中的表,进一步增大了运营和维护所需的资源。
发明内容
本申请实施例的目的在于提出一种批量数据处理方法、装置、计算机设备及存储介质,以解决解决批量数据处理效率较低的问题。
为了解决上述技术问题,本申请实施例提供一种批量数据处理方法,采用了如下所述的技术方案:
获取批量数据表;
获取所述批量数据表的数据特异性信息和分割配置信息;
根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
对于每个数据子表,确定数据子表所对应的spark节点;
通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
为了解决上述技术问题,本申请实施例还提供一种批量数据处理装置,采用了如下所述的技术方案:
数据表获取模块,用于获取批量数据表;
信息获取模块,用于获取所述批量数据表的数据特异性信息和分割配置信息;
数据表拆分模块,用于根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
节点确定模块,用于对于每个数据子表,确定数据子表所对应的spark节点;
数据处理模块,用于通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
获取批量数据表;
获取所述批量数据表的数据特异性信息和分割配置信息;
根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
对于每个数据子表,确定数据子表所对应的spark节点;
通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
获取批量数据表;
获取所述批量数据表的数据特异性信息和分割配置信息;
根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
对于每个数据子表,确定数据子表所对应的spark节点;
通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
与现有技术相比,本申请实施例主要有以下有益效果:获取批量数据表后,再获取批量数据表的数据特异性信息和分割配置信息,数据特异性信息记录批量数据表中的数据是否关联于特定的spark节点,分割配置信息记录了如何对数据进行分割;将数据特异性信息和分割配置信息作为依据,将批量数据表拆分为若干个数据子表,并确定每个数据子表所对应的spark节点,从而指示spark节点对应获取数据子表并进行数据处理;本申请对批量数据表进行有机地拆分,降低每个spark节点需要读取的数据量,提高了批量数据处理效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的批量数据处理方法的一个实施例的流程图;
图3是根据本申请的批量数据处理装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的批量数据处理方法一般由服务器执行,相应地,批量数据处理装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的批量数据处理方法的一个实施例的流程图。所述的批量数据处理方法,包括以下步骤:
步骤S201,获取批量数据表。
在本实施例中,批量数据处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
具体地,首先获取批量数据表。批量数据表包含了多条数据,每条数据可以包括数据标识以及具体的数据值,数据标识用于标识数据,可以是数据的名称或者描述。
在一个实施例中,批量数据表可以来自于数据库,数据库可以是Oracle数据库。Oracle数据库(Oracle Database,又名Oracle RDBMS,或简称Oracle)是一款关系数据库管理系统。批量数据表可以由Oracle数据库中的全部数据构成;也可以由Oracle数据库中符合预设条件的数据构成,例如,可以由Oracle数据库中的增量数据构成,或者对Oracle数据库中的数据进行搜索,由搜索结果构成。
在一个实施例中,基于上游的业务系统产生的业务数据生成批量数据表,然后将批量数据表存储到Oracle数据库。
步骤S202,获取批量数据表的数据特异性信息和分割配置信息。
其中,数据特异性信息用于记录批量数据表中的数据是否关联于特定的spark节点。分割配置信息用于记录如何对数据进行拆分。
具体地,获取针对批量数据表的数据特异性信息和分割配置信息。数据特异性信息用于记录数据是否关联于特定的spark节点。Spark集群可以有多个spark节点,不同的spark节点运行的任务可能相同,也可能不同;不同的任务需要的数据也可能不同。某些spark节点由于运行任务的特殊性,可能需要某些特定的数据,这些数据就是特异性数据;某些数据可以由任意spark节点处理,这些数据就是非特异性数据。
本申请可以对批量数据进行拆分,分割配置信息记录了对批量数据的分割、拆分方式。数据特异性不同,分割逻辑也不相同。
需要强调的是,为进一步保证上述数据特异性信息的私密和安全性,上述数据特异性信息还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S203,根据数据特异性信息和分割配置信息,对批量数据表进行拆分,得到若干个数据子表。
具体地,为了提升批量数据的读取速度,可以对批量数据表进行拆分。对批量数据表的拆分依赖于数据特异性信息和分割配置信息,通常,关联于某个spark节点的数据会被划分到一起,与spark节点没有特定关联关系的数据可以进行任意拆分。拆分完毕后得到若干个数据子表。
步骤S204,对于每个数据子表,确定数据子表所对应的spark节点。
具体地,spark集群中有多个节点,各节点均可获取到数据子表。在指示spark节点获取数据子表前,首先需要确定每个数据子表与spark节点的关联关系,即确定每个数据子表被哪个spark节点进行处理。
进一步的,上述步骤S204可以包括:对于每个数据子表,当数据子表中的数据为特异性数据时,根据数据特异性信息确定数据子表所对应的spark节点;当数据子表中的数据为非特异性数据时,将数据子表随机划分至spark节点。
具体地,对于每个数据子表,当数据子表中的数据为特异性数据时,表明数据子表中的数据只能被特定的spark节点进行处理。可以通过数据特异性信息确定数据子表中的数据与哪个spark节点相关联,然后确定该spark节点与该数据子表之间的对应关系。
当数据子表中的数据为非特异性数据时,数据子表可以被任意spark节点进行处理,此时,可以将数据子表随机划分至一个spark节点。
本实施例中,根据数据子表中的数据是否为特异性数据,采取不同的划分方式,可以有序地将数据子表划分至spark节点。
步骤S205,通过spark节点获取数据子表,并通过spark节点对数据子表进行数据处理,得到数据处理结果。
具体地,确定spark节点和数据子表之间的对应关系后,spark节点即可获取对应的数据子表,然后对数据子表中的数据进行处理,得到数据处理结果。在一个实施例中,spark节点处理完本节点的数据子表后,将得到的数据处理结果发送至预设的另一个spark汇总节点,由其根据多个spark节点的数据处理结果进行汇总、计算,得到最终的数据处理结果。
本实施例中,获取批量数据表后,再获取批量数据表的数据特异性信息和分割配置信息,数据特异性信息记录批量数据表中的数据是否关联于特定的spark节点,分割配置信息记录了如何对数据进行分割;将数据特异性信息和分割配置信息作为依据,将批量数据表拆分为若干个数据子表,并确定每个数据子表所对应的spark节点,从而指示spark节点对应获取数据子表并进行数据处理;本申请对批量数据表进行有机地拆分,降低每个spark节点需要读取的数据量,提高了批量数据处理效率。
进一步的,上述步骤S202可以包括:从动态配置管理服务器中获取针对批量数据表的数据特异性信息;获取关联于批量数据表的数据查询信息;根据数据查询信息和数据特异性信息生成针对批量数据表的分割配置信息。
其中,动态配置管理服务器可以对批量数据表中的数据进行动态的配置与管理。动态配置管理服务器可以基于阿波罗(Appollo)搭建,阿波罗是一种配置管理中心,可以集中化管理不同应用环境、不同集群的配置,且配置修改后可以实时生效,无需系统下线重启。基于阿波罗构建动态配置管理服务器,可以实时修改数据特异性信息,并能够及时生效。
具体地,可以从动态配置管理服务器中获取针对批量数据表的数据特异性信息,具体可以是从动态配置管理服务器中查询批量数据表中每一条数据的数据特异性信息。
批量数据表可以根据用户的查询指令生成,查询指令中带有数据查询信息,数据查询信息可以包括查询条件、数据存储地址等信息。待处理数据可以存储在Oracle数据库中,用户可以对Oracle库中的待处理数据进行查询,根据查询结果生成批量数据表。
Oracle数据库中的数据具有伪列(rowid),伪列是Oracle数据库特有的,建立表的时候,Oracle数据库会为每个表建立rowid列,作为数据库中每一条记录的标识,存储每条记录的存储位置,但是rowid并不存储在原来的数据表中,因此叫做伪列。结果伪列(rownum)也是Oracle数据库的伪列,是对查询结果集加的一个伪列,即先查到结果集之后再加上去的一个列,是符合查询条件的结果的序列号。在查询过程中,如果有新的数据进入Oracle数据库,同样的查询条件会导致查询结果的变化。因此,当根据数据查询信息确定是对可以发生变化的数据进行查询时,可以将查询条件和时间(时间也可以来自于数据查询信息)等信息作为限制条件,避免出错。
可以根据数据查询信息和数据特异性信息生成分割配置信息。在一个实施例中,分割配置信息也可以由用户确定,由用户操作终端,将分割配置信息发送至服务器。
本实施例中,获取到数据特异性信息,并生成分割配置信息,为批量数据表的拆分做好准备。
进一步的,上述步骤S203可以包括:根据数据特异性信息,将批量数据表中的批量数据划分为特异性数据和非特异性数据;基于数据特异性信息对特异性数据进行拆分,得到若干组特异性子数据,并基于每组特异性子数据生成数据子表;根据分割配置信息对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
具体地,先根据特异性信息,将批量数据表中的批量数据划分为特异性数据和非特异性数据。某些数据只能由特定的spark节点进行处理,这些数据就是特异性数据;某些数据可以由任意spark节点处理,这些数据就是非特异性数据。
对于特异性数据,数据特异性信息已经表明了数据与哪个spark节点相关联,可以将关联于同一个spark节点的数据划分到一起,得到若干组特异性子数据,每组特异性子数据可以生成一个数据子表。对于非特异性数据,分割配置信息记录了如何对其进行分割,可以根据分割配置信息,对非特异性数据进行随机的等量分割,得到若干组非特异性子数据,每组非特异性数据可以生成一个数据子表。
进一步的,上述根据分割配置信息对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表的步骤可以包括:获取分割配置信息中的数据分割方式,数据分割方式包括伪劣分割、结果伪劣分割或随机字段分割;基于数据分割方式对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
具体地,分割配置信息中可以记录数据分割方式,数据分割方式包括伪列分割、结果伪列分割和随机字段分割。
当批量数据表中的批量数据来自Oracle数据库时,可以对非特异性数据进行伪列分割和结果伪列分割。伪列分割是指依据伪列对非特异性数据进行随机分割;结果伪列分割是依据结果伪列对非特异性数据进行随机分割。伪列分割和结果伪列分割是将伪列或者结果伪列转化为字节流,根据字节流的数值范围进行分割。
每一条数据可以有多个字段,因此还可以进行随机字段分割,即任意选择某一维度的字段,将其转化为字节流,根据字节流的数值范围进行分割。例如,可以选择UUID(Universally Unique Identifier,通用唯一识别码)型字段。当存在数据查询信息时,可以进行结果伪列分割;通常,可以进行伪列分割和随机分割。
基于数据分割方式对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
本实施例中,可以进行伪列分割、结果伪列分割和随机字段分割,丰富了对非特异性数据的数据分割方式。
本实施例中,首先根据数据特异性信息将批量数据表中的批量数据划分为特异性数据和非特异性数据,然后针对特异性数据和非特异性数据采取针对性的分割,保证了数据分割的顺利实现。
进一步的,上述步骤S205之前,还可以包括:获取数据子表的数据量;根据数据量对spark节点进行硬件资源调整。
具体地,可以统计数据子表的数据量,以根据数据量对该数据子表所对应的spark节点进行硬件资源调整,硬件资源调整包括进程设置和内存设置。
对于spark,其运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)。
统计到数据子表的数据量后,根据数据量向该spark节点分配硬件资源。举例说明,当预设数据量小于6千万时,设置进程数量为6,内存为8G;当数据量大于6千万时,每千万数据量分配一个进程,每亿数据量增加1G内存
本实施例中,根据数据子表的数据量对spark节点进行硬件资源调整,以便使spark节点的硬件配置可以匹配数据子表,确保能够顺利对数据子表进行处理。
进一步的,上述步骤S205可以包括:根据数据子表生成数据获取指令;将数据获取指令发送至spark节点,数据获取指令用于指示spark节点通过若干数量的线程获取数据子表,并对数据子表进行数据处理,得到数据处理结果。
具体地,服务器确定spark节点与数据子表的对应关系后,根据数据子表生成数据获取指令,然后将数据获取指令发送至对应的spark节点,spark节点根据数据获取指令从服务器中读取数据子表。
spark节点读取数据子表时,可以采用多线程读取的策略。spark节点可以开启若干个数据获取线程,各数据获取线程同时读取数据子表,以避免各线程需要读取过多数据,并提高数据读取速度。
在一个实施例中,可以采用多线程分批读取的策略。Spark节点可以开启若干个数据获取线程,各数据获取线程从数据子表中,每次同时读取预设数量的待处理数据,且每个数据获取线程可以分多次读取,以避免各线程单次读取过多数据,造成节点运行紧张。
本实施例中,spark节点可以通过多线程读取数据子表,避免了每个线程需要读取过多数据,并提高了spark节点的数据读取速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种批量数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的批量数据处理装置300包括:数据表获取模块301、信息获取模块302、数据表拆分模块303、节点确定模块304以及数据处理模块305,其中:
数据表获取模块301,用于获取批量数据表。
信息获取模块302,用于获取批量数据表的数据特异性信息和分割配置信息。
数据表拆分模块303,用于根据数据特异性信息和分割配置信息,对批量数据表进行拆分,得到若干个数据子表。
节点确定模块304,用于对于每个数据子表,确定数据子表所对应的spark节点。
数据处理模块305,用于通过spark节点获取数据子表,并通过spark节点对数据子表进行数据处理,得到数据处理结果。
本实施例中,获取批量数据表后,再获取批量数据表的数据特异性信息和分割配置信息,数据特异性信息记录批量数据表中的数据是否关联于特定的spark节点,分割配置信息记录了如何对数据进行分割;将数据特异性信息和分割配置信息作为依据,将批量数据表拆分为若干个数据子表,并确定每个数据子表所对应的spark节点,从而指示spark节点对应获取数据子表并进行数据处理;本申请对批量数据表进行有机地拆分,降低每个spark节点需要读取的数据量,提高了批量数据处理效率。
在本实施例的一些可选的实现方式中,信息获取模块302可以包括:特异性获取子模块、查询获取子模块以及信息生成子模块,其中:
特异性获取子模块,用于从动态配置管理服务器中获取针对批量数据表的数据特异性信息。
查询获取子模块,用于获取关联于批量数据表的数据查询信息。
信息生成子模块,用于根据数据查询信息和数据特异性信息生成针对批量数据表的分割配置信息。
本实施例中,获取到数据特异性信息,并生成分割配置信息,为批量数据表的拆分做好准备。
在本实施例的一些可选的实现方式中,数据表拆分模块303可以包括:数据划分子模块、数据拆分子模块以及数据分割子模块,其中:
数据划分子模块,用于根据数据特异性信息,将批量数据表中的批量数据划分为特异性数据和非特异性数据。
数据拆分子模块,用于基于数据特异性信息对特异性数据进行拆分,得到若干组特异性子数据,并基于每组特异性子数据生成数据子表。
数据分割子模块,用于根据分割配置信息对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
本实施例中,首先根据数据特异性信息将批量数据表中的批量数据划分为特异性数据和非特异性数据,然后针对特异性数据和非特异性数据采取针对性的分割,保证了数据分割的顺利实现。
在本实施例的一些可选的实现方式中,数据分割子模块可以包括:方式获取单元以及数据分割单元,其中:
方式获取单元,用于获取分割配置信息中的数据分割方式,数据分割方式包括伪劣分割、结果伪劣分割或随机字段分割。
数据分割单元,用于基于数据分割方式对非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
本实施例中,可以进行伪列分割、结果伪列分割和随机字段分割,丰富了对非特异性数据的数据分割方式。
在本实施例的一些可选的实现方式中,节点确定模块304可以包括:特异确定子模块以及随机划分子模块,其中:
特异确定子模块,用于对于每个数据子表,当数据子表中的数据为特异性数据时,根据数据特异性信息确定数据子表所对应的spark节点。
随机划分子模块,用于当数据子表中的数据为非特异性数据时,将数据子表随机划分至spark节点。
本实施例中,根据数据子表中的数据是否为特异性数据,采取不同的划分方式,可以有序地将数据子表划分至spark节点。
在本实施例的一些可选的实现方式中,批量数据处理装置300可以包括:数据量获取模块以及节点调整模块,其中:
数据量获取模块,用于获取数据子表的数据量。
节点调整模块,用于根据数据量对spark节点进行硬件资源调整。
本实施例中,根据数据子表的数据量对spark节点进行硬件资源调整,以便使spark节点的硬件配置可以匹配数据子表,确保能够顺利对数据子表进行处理。
在本实施例的一些可选的实现方式中,数据处理模块305可以包括:指令生成子模块以及数据处理子模块,其中:
指令生成子模块,用于根据数据子表生成数据获取指令。
数据处理子模块,用于将数据获取指令发送至spark节点,数据获取指令用于指示spark节点通过若干数量的线程获取数据子表,并对数据子表进行数据处理,得到数据处理结果。
本实施例中,spark节点可以通过多线程读取数据子表,避免了每个线程需要读取过多数据,并提高了spark节点的数据读取速度。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如批量数据处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述批量数据处理方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述批量数据处理方法。此处批量数据处理方法可以是上述各个实施例的批量数据处理方法。
本实施例中,获取批量数据表后,再获取批量数据表的数据特异性信息和分割配置信息,数据特异性信息记录批量数据表中的数据是否关联于特定的spark节点,分割配置信息记录了如何对数据进行分割;将数据特异性信息和分割配置信息作为依据,将批量数据表拆分为若干个数据子表,并确定每个数据子表所对应的spark节点,从而指示spark节点对应获取数据子表并进行数据处理;本申请对批量数据表进行有机地拆分,降低每个spark节点需要读取的数据量,提高了批量数据处理效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的批量数据处理方法的步骤。
本实施例中,获取批量数据表后,再获取批量数据表的数据特异性信息和分割配置信息,数据特异性信息记录批量数据表中的数据是否关联于特定的spark节点,分割配置信息记录了如何对数据进行分割;将数据特异性信息和分割配置信息作为依据,将批量数据表拆分为若干个数据子表,并确定每个数据子表所对应的spark节点,从而指示spark节点对应获取数据子表并进行数据处理;本申请对批量数据表进行有机地拆分,降低每个spark节点需要读取的数据量,提高了批量数据处理效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种批量数据处理方法,其特征在于,包括下述步骤:
获取批量数据表;
获取所述批量数据表的数据特异性信息和分割配置信息;
根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
对于每个数据子表,确定数据子表所对应的spark节点;
通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
2.根据权利要求1所述的批量数据处理方法,其特征在于,所述获取所述批量数据表的数据特异性信息和分割配置信息的步骤包括:
从动态配置管理服务器中获取针对所述批量数据表的数据特异性信息;
获取关联于所述批量数据表的数据查询信息;
根据所述数据查询信息和所述数据特异性信息生成针对所述批量数据表的分割配置信息。
3.根据权利要求1所述的批量数据处理方法,其特征在于,所述根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表的步骤包括:
根据所述数据特异性信息,将所述批量数据表中的批量数据划分为特异性数据和非特异性数据;
基于所述数据特异性信息对所述特异性数据进行拆分,得到若干组特异性子数据,并基于每组特异性子数据生成数据子表;
根据所述分割配置信息对所述非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
4.根据权利要求3所述的批量数据处理方法,其特征在于,所述根据所述分割配置信息对所述非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表的步骤包括:
获取所述分割配置信息中的数据分割方式,所述数据分割方式包括伪劣分割、结果伪劣分割或随机字段分割;
基于所述数据分割方式对所述非特异性数据进行随机分割,得到若干组非特异性子数据,并基于每组非特异性子数据生成数据子表。
5.根据权利要求1所述的批量数据处理方法,其特征在于,所述对于每个数据子表,确定数据子表所对应的spark节点的步骤包括:
对于每个数据子表,当数据子表中的数据为特异性数据时,根据所述数据特异性信息确定所述数据子表所对应的spark节点;
当所述数据子表中的数据为非特异性数据时,将所述数据子表随机划分至spark节点。
6.根据权利要求1所述的批量数据处理方法,其特征在于,所述通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果的步骤之前,还包括:
获取所述数据子表的数据量;
根据所述数据量对所述spark节点进行硬件资源调整。
7.根据权利要求1所述的批量数据处理方法,其特征在于,所述通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果的步骤包括:
根据所述数据子表生成数据获取指令;
将所述数据获取指令发送至所述spark节点,所述数据获取指令用于指示所述spark节点通过若干数量的线程获取所述数据子表,并对所述数据子表进行数据处理,得到数据处理结果。
8.一种批量数据处理装置,其特征在于,包括:
数据表获取模块,用于获取批量数据表;
信息获取模块,用于获取所述批量数据表的数据特异性信息和分割配置信息;
数据表拆分模块,用于根据所述数据特异性信息和所述分割配置信息,对所述批量数据表进行拆分,得到若干个数据子表;
节点确定模块,用于对于每个数据子表,确定数据子表所对应的spark节点;
数据处理模块,用于通过所述spark节点获取所述数据子表,并通过所述spark节点对所述数据子表进行数据处理,得到数据处理结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的批量数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的批量数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432591.6A CN114090585A (zh) | 2021-11-29 | 2021-11-29 | 批量数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111432591.6A CN114090585A (zh) | 2021-11-29 | 2021-11-29 | 批量数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090585A true CN114090585A (zh) | 2022-02-25 |
Family
ID=80305460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111432591.6A Pending CN114090585A (zh) | 2021-11-29 | 2021-11-29 | 批量数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090585A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190099A (ja) * | 2011-03-09 | 2012-10-04 | Nec Corp | ストレージシステム |
CN108009146A (zh) * | 2017-12-25 | 2018-05-08 | 重庆满荣网络技术有限公司 | 智慧校园管理方法 |
CN113051250A (zh) * | 2021-03-24 | 2021-06-29 | 北京金山云网络技术有限公司 | 数据库集群的扩容方法和装置、电子设备和存储介质 |
-
2021
- 2021-11-29 CN CN202111432591.6A patent/CN114090585A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012190099A (ja) * | 2011-03-09 | 2012-10-04 | Nec Corp | ストレージシステム |
CN108009146A (zh) * | 2017-12-25 | 2018-05-08 | 重庆满荣网络技术有限公司 | 智慧校园管理方法 |
CN113051250A (zh) * | 2021-03-24 | 2021-06-29 | 北京金山云网络技术有限公司 | 数据库集群的扩容方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022116425A1 (zh) | 数据血缘关系解析方法、系统、计算机设备及存储介质 | |
CN110795499B (zh) | 基于大数据的集群数据同步方法、装置、设备及存储介质 | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN112182004B (zh) | 实时查看数据方法、装置、计算机设备及存储介质 | |
CN111752944B (zh) | 数据分摊方法、装置、计算机设备及存储介质 | |
CN112416934A (zh) | hive表增量数据同步方法、装置、计算机设备及存储介质 | |
CN112507020A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN113010542B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN112199442A (zh) | 分布式批量下载文件方法、装置、计算机设备及存储介质 | |
CN113254106B (zh) | 基于Flink的任务执行方法、装置、计算机设备及存储介质 | |
CN113254445A (zh) | 实时数据存储方法、装置、计算机设备及存储介质 | |
US11509662B2 (en) | Method, device and computer program product for processing access management rights | |
CN112506486A (zh) | 搜索系统建立方法、装置、电子设备及可读存储介质 | |
CN111813517B (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
WO2022156087A1 (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN112182107B (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN113791735A (zh) | 视频数据存储方法、装置、计算机设备及存储介质 | |
WO2021051569A1 (zh) | 一种数据隔离方法、装置、计算机设备及存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN114090585A (zh) | 批量数据处理方法、装置、计算机设备及存储介质 | |
CN117271122A (zh) | 基于cpu和gpu分离的任务处理方法、装置、设备及存储介质 | |
CN115203672A (zh) | 信息访问的管控方法、装置、计算机设备及介质 | |
CN116304079A (zh) | 基于时序的图谱数据管理方法、设备和可读存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
US20200081875A1 (en) | Information Association And Suggestion |
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 |