CN109325034B - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109325034B CN109325034B CN201811188080.2A CN201811188080A CN109325034B CN 109325034 B CN109325034 B CN 109325034B CN 201811188080 A CN201811188080 A CN 201811188080A CN 109325034 B CN109325034 B CN 109325034B
- Authority
- CN
- China
- Prior art keywords
- data
- preset
- processing
- key value
- map
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及大数据技术领域,应用于分布式系统,并公开了一种数据处理方法、装置、计算机设备及存储介质,该方法包括:扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map‑Reduce处理逻辑以将所述键值数据分成多份数据块;根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。该方法可解决大数据处理时产生的数据倾斜现象。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
目前,在通过分布式系统对大数据进行处理时,往往会遇到对数据进行分类分区的需求,现有对于数据进行分类分区是通过分布式Key-Value的信息进行动态处理的,但是遇到部分数据量巨大的键值数据就会产生数据倾斜,甚至导致数据处理报错。在进行海量数据动态分区时,如果数据倾斜可能会导致作业失败,不能实现动态分区的功能,只能人工操作进行分类。如果数据表较多的话,也不利于大批量数据处理。因此,有必要提供一种数据处理方法以解决上述问题。
发明内容
本申请提供了一种数据处理方法、装置、计算机设备及存储介质,旨在分布式系统在处理大数据时产生的数据倾斜问题。
本申请提供了一种数据处理方法,应用于分布式系统,其包括:
扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
本申请提供了一种数据处理装置,配置在分布式系统中,其包括:
扫描分类单元,用于扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算判断单元,用于计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
触发启动单元,用于若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
生成发送单元,用于根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任意一项所述的数据处理方法的步骤。
本申请还提供了一种计算机存储介质,其中所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行本申请提供的任意实施例所述的数据处理方法的步骤。
本申请实施例提供了数据处理方法、装置、计算机设备及存储介质,通过扫描数据表以读取待处理数据,对所述待处理数据进行分类以得到多个键值数据后;计算每个所述键值数据的占比系数,若所述占比系数大于所述预设系数阈值,则触发启动预设Map-Reduce处理逻辑,而不采用现有的分布式Key-Value处理方式进行处理;基于所述预设Map-Reduce处理逻辑,根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。该方法可以提升大数据动态分类分区的处理能力,减少对分布式系统的资源浪费,同时解决大数据处理时产生的数据倾斜现象。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的设置预设Map-Reduce处理逻辑的步骤示意流程图;
图2是本申请一实施例提供的一种数据处理方法的示意流程图;
图3是图2中数据处理方法的子步骤示意流程图;
图4是图2中数据处理方法的子步骤示意流程图;
图5是本申请一实施例提供的一种数据处理装置的示意性框图;
图6是本申请另一实施例提供的一种数据处理装置的示意性框图;
图7是本申请又一实施例提供的一种数据处理装置的示意性框图;
图8是本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例提供了一种数据处理方法、装置、计算机设备和存储介质。
其中,该数据处理方法应用于分布式系统,分布式系统包括多台相互协作的服务器以实现对大数据的快速处理,该分布式系统为Hadoop系统。其中。该服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
在介绍本申请提供的数据处理方法之前,先介绍设置预设Map-Reduce处理逻辑的步骤,该步骤是具体修改分布式系统的Map-Reduce的处理。请参阅图1,图1是本申请一实施例提供的设置预设Map-Reduce处理逻辑的步骤示意流程图。如图1所示,该步骤具体包括以下内容:
S101、在所述分布式系统的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间。
具体地,在Map端创建内存缓冲区,该内存缓冲区具有预设大小的内存空间,该预设大小的内存空间比如为200Mb,该内存缓冲区用于存储键值数据并在该内存缓冲区中对键值数据进行预处理,比如判断数据的大小或拆分等。由此可提高数据处理速度。
S102、将预设阈值写入所述Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值。
具体地,该预设阈值用于配置所述内存缓冲区的预设配置系数阈值,具体是将预设阈值写入所述Map-Reduce的配置文件,当启动Map-Reduce时读取该配置文件为所述内存缓冲区配置预设系数阈值。比如预设阈值为0.8,则内存缓冲区的预设系数阈值设置为0.8,预设阈值的大小具体设置根据分布式系统的服务器的数据处理能力进行设定。
S103、将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成所述预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将所述键值数据分成相应份数的数据块。
具体地,所述预设处理规则用于根据Reduce的数量将所述键值数据分成对应份数的数据块,通过将所述预设处理规则转换程序形式写入在所述配置文件中,同时为所述内存缓冲区设置守护线程,该守护线程用于生成Map任务并发送值Reduce,从而完成所述预设Map-Reduce处理逻辑的设置。
请参阅图2,图2是本申请一实施例提供的一种数据处理方法的示意流程图。该数据处理方法具体应用于分布式系统的服务器中,如图2所示,该数据处理方法包括步骤S201~S204。
S201、扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
具体地,所述分布式系统读取特定数据库中的数据表,并扫描该数据表中的数据,该数据表中的数据即为待处理数据。特定数据库为业务系统对应的数据库。其中分布式系统包括多台服务器,多台服务器配合完成对待处理数据的处理,首先需要对所述待处理数据进行分类以得到多个键值数据,并按照键值将所述多个键值数据发送至多台服务器处理。
具体地,所述根据数据类型对所述待处理数据进行分类以得到多个键值数据,包括:获取预设的分类类型,根据所述分类类型对所述待处理数据进行分类以得到多个键值数据,所述预设的分类类型包括时间类型、区域类型、渠道类型或接触类型。
其中,用户可以通过终端预先设置相应的分类类型,比如,用户设置按照时间类型进行分类,该时间类型可以为每小时一个时间段,也可以按照每天一个时间段。服务器获取终端发送的用户设置的分类类型,并根据所述预设的分类类型对所述待处理数据进行分类以得到多个键值数据,比如获取一周内的数据,按时间类型(每一天)进行分类,则可以分为七类数据,由此对应七个键值,该七类数据为键值数据。
在一实施例中,为了提高数据处理速度,可以预先在服务器的内存中开设数据保留区。基于此,步骤S201包括对待处理数据预处理的步骤,如图3所示,该步骤具体包括以下内容:
S201a、扫描数据表以读取待处理数据,并将所述待处理数据保存至数据预留区,所述数据预留区为预先在分布式系统的服务器的内存中开设的数据保留区;S201b、在所述数据预留区中对所述待处理数据进行数据切割处理,并对数据切割处理后的数据作预分类处理以得到键值数据。
具体地,在服务器内存中的数据预留区中实现对待处理数据进行数据切割的处理过程,并完成对所述数据切割处理后的数据作预分类处理以得到键值数据。由此可提高了数据处理速度。
S202、计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
具体地,由于每天产生的数据量不同,所以每个键值数据的占比系统也不相同。计算每个所述键值数据的占比系数,具体包括:统计所有的键值数据对应的数据总量;以及计算每个键值数据与所述数据总量的比值。该比值即为每个键值数据的占比系数。
在计算完每个所述键值数据的占比系数之后,判断每个所述键值数据对应的占比系数是否大于预设系数阈值。
其中,判断每个所述键值数据对应的占比系数是否大于预设系数阈值,并生成判断结果;若判断结果为所述键值数据的占比系数不大于所述预设系数阈值,则执行步骤S203;若判断结果为所述键值数据的占比系数大于所述预设系数阈值,则执行步骤S204。
S203、采用分布式Key-Value处理方式对所述键值数据进行处理。
具体地,若所述键值数据的占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理,即通过现有的分布式Key-Value处理方式将所述键值数据按照键值分别发送至各个服务器进行处理。
S204、触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块。
具体地,若所述键值数据的占比系数大于所述预设系数阈值,则触发启动预设Map-Reduce处理逻辑对所述键值数据进行处理,所述预设Map-Reduce处理逻辑为对现有的Map-Reduce处理逻辑进行重新设计,主要是修改了其Shuffer阶段的Key-Value分布,所述预设Map-Reduce处理逻辑用于将所述键值数据分成多份数据块并传输至Reduce中。
S205、根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
具体地,利用该预设Map-Reduce处理逻辑将占比系数超过预设系数阈值的键值数据分成多份数据块,并根据每个所述数据块生成Map任务并发送至Reduce,由Reduce完成该Map任务,从而完成对所述数据块的处理。具体如图4所示,步骤S204具体包括以下内容:
S205a、根据所述预设处理规则对所述键值数据进行处理以得到相应数量的数据块。
具体地,所述预设处理规则用于根据Reduce的数量将所述键值数据分成对应份数的数据块。具体可在内存缓冲区根据该预设处理规则将所述键值数据按照Reduce的数量拆分成对应份数的数据块,该对应数量表示数据块的数量与Reduce的数量相对应。
S205b、开启所述守护线程,根据所述数据块生成对应的Map任务,并将所述Map任务发送至Reduce,所述Reduce根据所述Map任务完成对数据块的处理并保存对应的文件目录以生成键值数据文件。
具体地,开启所述内存缓冲区的守护线程,通过该守护线程实现根据所述数据块生成对应的Map任务,具体地一个数据块生成一个Map任务,并将所述Map任务发送至Reduce。所述Reduce根据所述Map任务完成对数据块的处理并保存至相应的文件目录以生成键值数据文件。
S205c、将多个所述键值数据文件合并成分类文件,并输出所述分类文件以完成对所述待处理数据的处理。
具体地,在Reduce阶段,Reduce接收所述Map任务后对数据进行处理并保存至相应的文件目录以生成键值数据文件,由于是多个Map任务,因此会生成多个所述键值数据文件,将多个所述键值数据文件合并成一个分类文件并输出所述分类文件,由此完成对数据块的处理。
在本实施例中,上述数据处理方法通过扫描数据表以读取待处理数据,对所述待处理数据进行分类以得到多个键值数据后;计算每个所述键值数据的占比系数,若所述占比系数大于所述预设系数阈值,则触发启动预设Map-Reduce处理逻辑,而不采用现有的分布式Key-Value处理方式进行处理;基于所述预设Map-Reduce处理逻辑,根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。由此提升大数据动态分类分区的处理能力,减少对分布式系统的资源浪费,同时解决大数据处理时产生的数据倾斜现象。
图5是本申请实施例提供的一种数据处理装置的示意性框图。如图5所示,对应于以上数据处理方法,本申请还提供一种数据处理装置。该数据处理装置包括用于执行上述数据处理方法的单元,该装置可以被配置于服务器中。
如图5所示,数据处理装置400包括:内存创建单元401、写入配置单元402、配置设置单元403、扫描分类单元404、计算判断单元405、键值处理单元406、触发启动单元407和生成发送单元408。
内存创建单元401,用于在所述分布式系统的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间。
写入配置单元402,用于将预设阈值写入所述Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值。
配置设置单元403,用于将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成所述预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将所述键值数据分成相应份数的数据块。
扫描分类单元404,用于扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据。
在一实施例中,如图5所示,扫描分类单元404包括:扫描保存子单元4041和切割处理子单元4042。
其中,扫描保存子单元4041,用于扫描数据表以读取待处理数据,并将所述待处理数据保存至数据预留区,所述数据预留区为预先在分布式系统的服务器的内存中开设的数据保留区;切割处理子单元4042,用于在所述数据预留区中对所述待处理数据进行数据切割处理,并对数据切割处理后的数据作预分类处理以得到键值数据。
计算判断单元405,用于计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值。
键值处理单元406,用于若所述占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理。
触发启动单元407,用于若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块。
生成发送单元408,用于根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
在一实施例中,如图7所示,生成发送单元408包括:开启发送子单元4081和合并输出子单元4082。
其中,开启发送子单元4081,用于开启所述守护线程,根据所述数据块生成对应的Map任务,并将所述Map任务发送至Reduce,所述Reduce根据所述Map任务完成对数据块的处理并保存对应的文件目录以生成键值数据文件;合并输出子单元4082,用于将多个所述键值数据文件合并成分类文件,并输出所述分类文件以完成对所述待处理数据的处理。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的数据处理装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700可以是服务器。
参照图8,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种数据处理方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种数据处理方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现如下步骤:
扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据之前,还实现如下步骤:
在所述分布式系统的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间;
将预设阈值写入所述Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值;以及
将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成所述预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将所述键值数据分成相应份数的数据块。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理,具体实现如下步骤:
根据所述预设处理规则对所述键值数据进行处理以得到相应数量的数据块;
开启所述守护线程,根据所述数据块生成对应的Map任务,并将所述Map任务发送至Reduce,所述Reduce根据所述Map任务完成对数据块的处理并保存对应的文件目录以生成键值数据文件;
将多个所述键值数据文件合并成分类文件,并输出所述分类文件以完成对所述待处理数据的处理。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述判断所述占比系数是否大于预设系数阈值之后,还实现如下步骤:
若所述占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述根据数据类型对所述待处理数据进行分类以得到多个键值数据,具体实现如下步骤:
获取预设的分类类型,根据所述预设的分类类型对所述待处理数据进行分类以得到多个键值数据,所述预设的分类类型包括时间类型、区域类型、渠道类型或接触类型。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据,具体实现如下步骤:
扫描数据表以读取待处理数据,并将所述待处理数据保存至数据预留区,所述数据预留区为预先在分布式系统的服务器的内存中开设的数据保留区;
在所述数据预留区中对所述待处理数据进行数据切割处理,并对数据切割处理后的数据作预分类处理以得到键值数据。
在一实施例中,所述处理器720用于运行存储在存储器中的程序代码实现所述计算每个所述键值数据的占比系数时,具体实现如下步骤:
统计所有的键值数据对应的数据总量;以及计算每个所述键值数据与所述数据总量的比值,将所述比值作为所述键值数据的占比系数。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessingUnit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图8中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。如本发明实施例中,该计算机程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程步骤。
该计算机可读存储介质可以是磁碟、光盘、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的数据处理装置和方法,可以通过其它的方式实现。例如,以上所描述的数据处理装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种数据处理方法,应用于分布式系统,其特征在于,包括:
在所述分布式系统的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间;
将预设阈值写入Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值;
将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将键值数据分成相应份数的数据块,其中,所述预设Map-Reduce处理逻辑为对现有的Map-Reduce处理逻辑进行重新设计,主要是修改了其Shuffle阶段的Key-Value分布;
扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
若所述占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理;
若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理,包括:
开启所述守护线程,根据所述数据块生成对应的Map任务,并将所述Map任务发送至Reduce,所述Reduce根据所述Map任务完成对数据块的处理并保存对应的文件目录以生成键值数据文件;
将多个所述键值数据文件合并成分类文件,并输出所述分类文件以完成对所述待处理数据的处理。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据数据类型对所述待处理数据进行分类以得到多个键值数据,包括:
获取预设的分类类型,根据所述分类类型对所述待处理数据进行分类以得到多个键值数据,所述预设的分类类型包括时间类型、区域类型、渠道类型或接触类型。
4.根据权利要求1所述的数据处理方法,其特征在于,所述扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据,包括:
扫描数据表以读取待处理数据,并将所述待处理数据保存至数据预留区,所述数据预留区为预先在分布式系统的服务器的内存中开设的数据保留区;
在所述数据预留区中对所述待处理数据进行数据切割处理,并对数据切割处理后的数据作预分类处理以得到键值数据。
5.根据权利要求1所述的数据处理方法,其特征在于,所述计算每个所述键值数据的占比系数,包括:
统计所有的键值数据对应的数据总量;以及计算每个所述键值数据与所述数据总量的比值,将所述比值作为所述键值数据的占比系数。
6.一种数据处理装置,配置在分布式系统中,其特征在于,包括:
内存创建单元,用于在所述分布式系统的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间;
写入配置单元,用于将预设阈值写入Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值;
配置设置单元,用于将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将键值数据分成相应份数的数据块,其中,所述预设Map-Reduce处理逻辑为对现有的Map-Reduce处理逻辑进行重新设计,主要是修改了其Shuffle阶段的Key-Value分布;
扫描分类单元,用于扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算判断单元,用于计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
键值处理单元,用于若所述占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理;
触发启动单元,用于若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式系统中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
生成发送单元,用于根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
7.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1至5任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811188080.2A CN109325034B (zh) | 2018-10-12 | 2018-10-12 | 数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811188080.2A CN109325034B (zh) | 2018-10-12 | 2018-10-12 | 数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109325034A CN109325034A (zh) | 2019-02-12 |
CN109325034B true CN109325034B (zh) | 2023-10-20 |
Family
ID=65261894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811188080.2A Active CN109325034B (zh) | 2018-10-12 | 2018-10-12 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109325034B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032559A (zh) * | 2019-04-19 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 一种数据抽取方法及装置 |
CN110222016B (zh) * | 2019-05-20 | 2023-08-22 | 平安银行股份有限公司 | 一种文件处理方法及装置 |
CN112115099B (zh) * | 2020-08-14 | 2023-11-07 | 华北科技学院 | 数据归一化方法、装置、计算机可读介质和电子设备 |
CN113468220A (zh) * | 2021-09-03 | 2021-10-01 | 苏州浪潮智能科技有限公司 | 一种数据查询方法、装置、设备及介质 |
CN113901262A (zh) * | 2021-09-24 | 2022-01-07 | 北京达佳互联信息技术有限公司 | 待处理数据的获取方法、装置、服务器和存储介质 |
CN114780541B (zh) * | 2022-04-01 | 2024-04-12 | 港珠澳大桥管理局 | 微批流处理系统中的数据分区方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948798B1 (en) * | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
CN104978228A (zh) * | 2014-04-09 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种分布式计算系统的调度方法和装置 |
CN108415986A (zh) * | 2018-02-11 | 2018-08-17 | 杭州朗和科技有限公司 | 一种数据处理方法、装置、系统、介质和计算设备 |
CN108595268A (zh) * | 2018-04-24 | 2018-09-28 | 咪咕文化科技有限公司 | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 |
-
2018
- 2018-10-12 CN CN201811188080.2A patent/CN109325034B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7948798B1 (en) * | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
CN104978228A (zh) * | 2014-04-09 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种分布式计算系统的调度方法和装置 |
CN108415986A (zh) * | 2018-02-11 | 2018-08-17 | 杭州朗和科技有限公司 | 一种数据处理方法、装置、系统、介质和计算设备 |
CN108595268A (zh) * | 2018-04-24 | 2018-09-28 | 咪咕文化科技有限公司 | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109325034A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325034B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110046137B (zh) | 将数据流分组并存储至云端存储文件中的系统和方法 | |
CN111917863B (zh) | 消息推送方法、装置、电视机设备及计算机存储介质 | |
US20170201566A1 (en) | File downloading method, apparatus, and terminal device | |
US20180189350A1 (en) | Streaming data processing method, streaming data processing device and memory medium | |
CN110781145B (zh) | 一种文件系统任务调度方法、装置、设备及可读存储介质 | |
WO2021052120A1 (zh) | 离线视频文件倍速分析方法和装置 | |
CN113704577A (zh) | 基于多线程并发处理的数据查询方法及装置 | |
CN107784195A (zh) | 数据处理方法及装置 | |
CN113923472B (zh) | 视频内容分析方法、装置、电子设备及存储介质 | |
CN111062634A (zh) | 审批任务分配方法、装置、计算机设备及存储介质 | |
CN109002348B (zh) | 一种虚拟化系统中的负载均衡方法及装置 | |
US11900155B2 (en) | Method, device, and computer program product for job processing | |
CN110018999B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
WO2021072776A1 (zh) | 数据合并方法、装置、电子设备及存储介质 | |
CN111125108A (zh) | 基于Lucene的HBASE二级索引方法、装置及计算机设备 | |
CN112698783A (zh) | 对象存储方法、装置及系统 | |
CN112764935B (zh) | 大数据处理方法、装置、电子设备及存储介质 | |
CN109901931B (zh) | 一种归约函数数量确定方法、装置及系统 | |
CN113360411A (zh) | 基于并行变异测试的代码覆盖率检测方法及装置 | |
CN114265699A (zh) | 任务调度方法、装置及电子装置、可读存储介质 | |
CN109547864B (zh) | 媒体数据处理方法和装置 | |
CN109947613B (zh) | 文件读取测试方法和装置 | |
CN113656173A (zh) | 云桌面资源配置方法、装置及电子设备 | |
CN114819195A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |