CN109325034A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109325034A CN109325034A CN201811188080.2A CN201811188080A CN109325034A CN 109325034 A CN109325034 A CN 109325034A CN 201811188080 A CN201811188080 A CN 201811188080A CN 109325034 A CN109325034 A CN 109325034A
- Authority
- CN
- China
- Prior art keywords
- data
- key assignments
- processing
- reduce
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims abstract description 18
- 239000000872 buffer Substances 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005520 cutting process Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 4
- 239000004744 fabric Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002354 daily effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013316 zoning Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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 (10)
1.一种数据处理方法,应用于分布式***,其特征在于,包括:
扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式***中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据之前,还包括:
在所述分布式***的Map端创建内存缓冲区,所述内存缓冲区具有预设大小空间;
将预设阈值写入所述Map-Reduce的配置文件中为所述内存缓冲区配置预设系数阈值;以及
将预设处理规则配置在所述配置文件中并为所述内存缓冲区设置守护线程以完成所述预设Map-Reduce处理逻辑的设置,所述预设处理规则用于根据Reduce的数量将所述键值数据分成相应份数的数据块。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理,包括:
开启所述守护线程,根据所述数据块生成对应的Map任务,并将所述Map任务发送至Reduce,所述Reduce根据所述Map任务完成对数据块的处理并保存对应的文件目录以生成键值数据文件;
将多个所述键值数据文件合并成分类文件,并输出所述分类文件以完成对所述待处理数据的处理。
4.根据权利要求1所述的数据处理方法,其特征在于,所述判断所述占比系数是否大于预设系数阈值之后,还包括:
若所述占比系数不大于所述预设系数阈值,则采用分布式Key-Value处理方式对所述键值数据进行处理。
5.根据权利要求1所述的数据处理方法,其特征在于,所述根据数据类型对所述待处理数据进行分类以得到多个键值数据,包括:
获取预设的分类类型,根据所述分类类型对所述待处理数据进行分类以得到多个键值数据,所述预设的分类类型包括时间类型、区域类型、渠道类型或接触类型。
6.根据权利要求1所述的数据处理方法,其特征在于,所述扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据,包括:
扫描数据表以读取待处理数据,并将所述待处理数据保存至数据预留区,所述数据预留区为预先在分布式***的服务器的内存中开设的数据保留区;
在所述数据预留区中对所述待处理数据进行数据切割处理,并对数据切割处理后的数据作预分类处理以得到键值数据。
7.根据权利要求1所述的数据处理方法,其特征在于,所述计算每个所述键值数据的占比系数,包括:
统计所有的键值数据对应的数据总量;以及计算每个所述键值数据与所述数据总量的比值,将所述比值作为所述键值数据的占比系数。
8.一种数据处理装置,配置在分布式***中,其特征在于,包括:
扫描分类单元,用于扫描数据表以读取待处理数据,根据数据类型对所述待处理数据进行分类以得到多个键值数据;
计算判断单元,用于计算每个所述键值数据的占比系数,判断所述占比系数是否大于预设系数阈值;
触发启动单元,用于若所述占比系数大于所述预设系数阈值,触发启动保存于所述分布式***中的预设Map-Reduce处理逻辑以将所述键值数据分成多份数据块;
生成发送单元,用于根据所述数据块生成Map任务并发送至Reduce以完成对所述待处理数据的处理。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1至7任意一项所述方法的步骤。
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 true CN109325034A (zh) | 2019-02-12 |
CN109325034B 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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032559A (zh) * | 2019-04-19 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 一种数据抽取方法及装置 |
CN110222016A (zh) * | 2019-05-20 | 2019-09-10 | 平安银行股份有限公司 | 一种文件处理方法及装置 |
CN112115099A (zh) * | 2020-08-14 | 2020-12-22 | 华北科技学院 | 数据归一化方法、装置、计算机可读介质和电子设备 |
CN113468220A (zh) * | 2021-09-03 | 2021-10-01 | 苏州浪潮智能科技有限公司 | 一种数据查询方法、装置、设备及介质 |
CN113901262A (zh) * | 2021-09-24 | 2022-01-07 | 北京达佳互联信息技术有限公司 | 待处理数据的获取方法、装置、服务器和存储介质 |
CN114780541A (zh) * | 2022-04-01 | 2022-07-22 | 港珠澳大桥管理局 | 微批流处理***中的数据分区方法、装置、设备和介质 |
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的数据分配方法、装置及计算机可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032559A (zh) * | 2019-04-19 | 2019-07-19 | 成都四方伟业软件股份有限公司 | 一种数据抽取方法及装置 |
CN110222016A (zh) * | 2019-05-20 | 2019-09-10 | 平安银行股份有限公司 | 一种文件处理方法及装置 |
CN110222016B (zh) * | 2019-05-20 | 2023-08-22 | 平安银行股份有限公司 | 一种文件处理方法及装置 |
CN112115099A (zh) * | 2020-08-14 | 2020-12-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 | 北京达佳互联信息技术有限公司 | 待处理数据的获取方法、装置、服务器和存储介质 |
CN114780541A (zh) * | 2022-04-01 | 2022-07-22 | 港珠澳大桥管理局 | 微批流处理***中的数据分区方法、装置、设备和介质 |
CN114780541B (zh) * | 2022-04-01 | 2024-04-12 | 港珠澳大桥管理局 | 微批流处理***中的数据分区方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109325034B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325034A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US9680782B2 (en) | Identifying relevant content in email | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN111917863B (zh) | 消息推送方法、装置、电视机设备及计算机存储介质 | |
CN107181664B (zh) | 一种自动熔断的消息发送方法、装置及*** | |
US11315133B2 (en) | System and method for minimizing latency in data consumption system | |
CN104426944A (zh) | 信息反馈方法、装置及终端 | |
WO2021109767A1 (zh) | 网络设备及其降低传输时延的方法 | |
CN109815716A (zh) | 访问请求处理方法、装置、存储介质及服务器 | |
CN111611305A (zh) | 一种数据处理方法、装置及介质 | |
CN109857550A (zh) | 基于机器学习的资源配置方法、装置、设备及存储介质 | |
CN108304274A (zh) | 一种信息交互的方法、服务器及计算机可读介质 | |
CN109002483A (zh) | 文档管理方法、装置、计算机设备及存储介质 | |
CN108536544B (zh) | 基于数据库消息队列的消费方法、装置、服务器和介质 | |
KR20210034558A (ko) | 인공 지능 개발 플랫폼의 관리 방법 및 장치, 매체 | |
CN104219639A (zh) | 一种显示短信记录的方法和装置 | |
CN109492058A (zh) | 业务报表的推送方法及装置 | |
JP2005128866A (ja) | 計算機装置及び計算機装置の制御方法 | |
CN110442819A (zh) | 数据处理方法、装置、存储介质及终端 | |
CN104933077A (zh) | 基于规则的多文件信息分析方法 | |
CN108446301A (zh) | 业务文件拆分汇总方法、装置及设备 | |
CN113746883A (zh) | 链路跟踪方法及*** | |
CN110392059A (zh) | 一种会话管理方法、装置及存储介质 | |
CN111401819B (zh) | ***间数据推送方法及*** | |
CN111913996B (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 |