CN102456031B - 一种MapReduce***和处理数据流的方法 - Google Patents
一种MapReduce***和处理数据流的方法 Download PDFInfo
- Publication number
- CN102456031B CN102456031B CN201010523169.7A CN201010523169A CN102456031B CN 102456031 B CN102456031 B CN 102456031B CN 201010523169 A CN201010523169 A CN 201010523169A CN 102456031 B CN102456031 B CN 102456031B
- Authority
- CN
- China
- Prior art keywords
- intermediate result
- result data
- reduce
- section
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种MapReduce***和处理数据流的方法,属于计算机技术领域。所述MapReduce***包括:M个映射Map模块和R个规约Reduce模块;所述Map模块包括:原始数据流数据获取单元、中间结果数据获取单元、中间结果数据段获取单元和中间结果数据段处理单元;所述Reduce模块包括Reduce处理单元。本发明在对数据流进行并行处理的过程中,对Map模块的输出进行合并组段,然后在段上进行Reduce处理,使得MapReduce***可以支持数据流的处理,解决了现有MapReduce***不能处理数据流的限制。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种MapReduce***处理数据流的方法。
背景技术
随着计算机技术的发展,计算机需要处理的数据的数量也越来越大,单台计算机已经不能处理一些大规模的数据,为此需要将多台计算机联合起来,构成计算机群,并行处理大规模的数据。为了可以将多台计算机联合起来,并行处理大规模的数据,现有技术提供了一种可以应用于并行处理大规模数据的***—MapReduce(映射规约)***。
目前MapReduce***可以对各种大规模的数据集进行并行处理,在对数据集进行并行处理时的过程如下:根据Map(映射)任务的数量,将数据集分解为多个数据块;分别对每个数据块中的每个原始键值对数据执行Map处理,得到每个原始键值对数据对应的中间结果键值对数据集;在得到所有原始键值对数据对应的中间结果键值对数据集后,分别对所有具有相同键的中间结果键值对数据进行相应的Reduce(规约)处理,得到相应的最终结果键值对数据。
然而在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前在实时监控***、零售业的联机处理***和物联网等***中产生了数据流,与传统的具有固定数量范围的数据集相比,数据流具有按时间顺序快速变化、海量和潜在无限的特点,也就是说数据流没有固定的数量范围。由于数据流没有固定的数量范围,因此无法将数据流分成固定数量的数据块,也无法在得到所有数据流的中间结果键值对数据后再进行Reduce处理,因此现有的MapReduce***无法处理数据流。
发明内容
为了使MapReduce***可以支持数据流的处理,本发明实施例提供了一种MapReduce***和处理数据流的方法。所述技术方案如下:
一种MapReduce***,所述***包括:M个映射Map模块和R个规约Reduce模块,其中,M为正整数,R为自然数;
其中,所述Map模块包括:
原始数据流数据获取单元,用于按照数据流到达时刻或预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,所述并行计算数据流是与用户提交的并行处理作业对应的待处理数据流;
中间结果数据获取单元,用于对所述原始数据流数据获取单元获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据;
中间结果数据段获取单元,用于根据预设的规则,对所述中间结果数据获取单元得到的中间结果数据进行合并组段,得到多个中间结果数据段;
中间结果数据段选取单元,用于从所述中间结果数据段获取单元得到的多个中间结果数据段中选取出符合预设的处理条件的中间结果数据段,所述预设的处理条件是对所述中间结果数据段进行间隔处理;
中间结果数据段处理单元,用于将所述中间结果数据段获取单元得到的多个中间结果数据段中的所有具有相同键的中间结果数据,发送给相应的Reduce模块进行处理;
其中,所述Reduce模块包括:
Reduce处理单元,用于接收所述中间结果数据段处理单元发送的所有具有相同键的中间结果数据,并对所有具有相同键的中间结果数据进行Reduce处理,得到相应的最终结果数据。
进一步地,所述中间结果数据段处理单元,还用于将所述中间结果数据段选取单元选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块进行处理。
进一步地,所述Reduce模块还包括:
中间结果数据段请求单元,用于向所述中间结果数据段处理单元发送中间结果数据段获取请求,请求其所需要处理的中间结果数据段;
相应地,
所述中间结果数据段处理单元,还用于在接收到所述中间结果数据段请求单元发送的中间结果数据段获取请求后,将所述中间结果数据段请求单元请求所需要处理的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块进行处理。
进一步地,所述***还包括:客户端模块和作业跟踪模块;
所述客户端模块,用于将用户撰写的并行处理作业提交至所述作业跟踪模块;并将所述并行计算数据流的源位置信息告知所述作业跟踪模块;
其中,所述作业跟踪模块包括:
作业分解分配单元,用于接收所述客户端模块提交的并行处理作业,将所述并行处理作业分解为m个Map任务和r个Reduce任务,将m个Map任务分别分配到M个所述Map模块,将r个Reduce任务分别分配到R个所述Reduce模块,并将所述并行计算数据流的源位置信息告知所述Map模块,其中,m为正整数,r为自然数,且m大于等于M,r大于等于R。
进一步地,所述作业跟踪模块还包括:
Reduce模块启动单元,用于监控所述Map模块的运行状态,并在需要所述Reduce模块进行Reduce处理时,启动所述Reduce模块。
进一步地,所述作业跟踪模块还包括:
中间结果数据段删除请求单元,用于请求所述Map模块删除相应的中间结果数据段;
相应地,所述Map模块还包括:
中间结果数据段删除单元,用于在接收到所述中间结果数据段删除请求单元的请求后,删除相应的中间结果数据段。
一种处理数据流的方法,所述方法包括:
按照数据流到达时刻或预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,所述并行计算数据流是与用户提交的并行处理作业对应的待处理数据流;
对获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据;
对所述中间结果数据进行合并组段,得到多个中间结果数据段;
从所述多个中间结果数据段中选取出符合预设的处理条件的的中间结果数据段,所述预设的处理条件是对所述中间结果数据段进行间隔处理;
对所述多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,得到相应的最终结果数据。
进一步地,所述对所述多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,具体为:
对选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
进一步地,所述得到多个中间结果数据段之后,所述方法还包括:
接收对需要进行Reduce处理的中间结果数据段进行处理的请求;
对需要处理的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
进一步地,所述方法还包括:
接收删除相应的中间结果数据段的请求;
删除请求删除的中间结果数据段。
本发明实施例提供的技术方案的有益效果是:
在对数据流进行并行处理的过程中,对Map模块的输出进行合并组段,然后在段上进行Reduce处理,使得MapReduce***可以支持数据流的处理,解决了现有MapReduce***不能处理数据流的限制。
附图说明
图1是本发明实施例1提供的一种MapReduce***的结构示意图;
图2是本发明实施例1提供的一种对Map模块的输出进行分段的示意图;
图3是本发明实施例1提供的一种Map模块的结构示意图;
图4是本发明实施例1提供的一种Reduce模块的结构示意图;
图5是本发明实施例1提供的一种作业跟踪模块的结构示意图;
图6是本发明实施例1提供的另一种作业跟踪模块的结构示意图;
图7是本发明实施例1提供的另一种Map模块的结构示意图;
图8是本发明实施例2提供的一种处理数据流的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例提供了一种MapReduce***,该***包括:
客户端(Client)模块101、作业跟踪(Job Tracker)模块102、M个Map模块103和R个Reduce模块104,其中,M为正整数,R为自然数。
客户端模块101,用于将用户撰写的并行处理作业提交至作业跟踪模块102;并将并行计算数据流的源位置信息告知作业跟踪模块102,其中,并行计算数据流是与并行处理作业对应的待处理数据流。
其中,并行计算数据流中的数据以键值对(key,Value)的形式存在。
其中,作业跟踪模块102包括:
作业分解分配单元102a,用于接收客户端模块101提交的并行处理作业,将并行处理作业分解为m个Map任务和r个Reduce任务,将m个Map任务分别分配到M个Map模块103,将r个Reduce任务分别分配到R个Reduce模块104,并将并行计算数据流的源位置信息告知Map模块103,其中,m为正整数,r为自然数,且m大于等于M,r大于等于R。
具体地,并行计算数据流会按照时间顺序源源不断地产生,因此实际应用中,可以根据预计的每分钟或每秒可能产生的并行计算数据流,设置m和r的取值,如每秒可能产生的并行计算数据流量较大,则可以将m和r的取值设置为较大的值。
其中,m大于等于M,r大于等于R,即每个Map模块103可以分配多个Map任务,每个Reduce模块104可以分配多个Reduce任务。实际应用中可以根据每个Map模块103和每个Reduce模块104的处理能力进行任务的分配。
其中,Map模块103包括:
原始数据流数据获取单元103a,用于接收作业跟踪模块102中的作业分解分配单元102a分配的Map任务,按照预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据。
具体地,可以根据Map任务的个数,将每次源位置处的并行计算数据流按比例划分为多份原始数据流数据,使得原始数据流数据获取单元103a可以不断从并行计算数据流的源位置获取一预设份数的原始数据流数据。并且可以是有多少个Map任务,则平均划分成多少份的原始数据流数据;也可以是按照任意比例划分为与Map任务个数相同的份数。
例如:作业跟踪模块102将并行处理作业分解为5个Map任务,且可以将每次源位置处的并行计算数据流平均划分为5份原始数据流数据,原始数据流数据获取单元每执行一次Map任务,获取一份原始数据流数据。需要说明的是,由于数据流具有按时间顺序快速变化的特点,因此不同时间获取的一份原始数据流数据中包括的数据量可能各不相同。
中间结果数据获取单元103b,用于按照数据流到达时刻或预设的时间间隔,对原始数据流数据获取单元103a获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据。
其中,每份原始数据流数据中包括多个原始数据流数据,每个原始数据流数据以键值对(key,Value)的形式存在。每个中间结果数据也以键值对(key,Value)的形式存在,且根据键的取值不同,中间结果数据分别属于不同的区域,如图1所示,根据键的取值不同,将中间结果数据分为区域(Region)1和区域2。
具体地,可以通过调用预先设置的Map函数对原始数据流数据获取单元103a获取的每份原始数据流数据进行Map处理,具体处理与现有技术类似,此处不再赘述。
中间结果数据段获取单元103c,用于对中间结果数据获取单元103b得到的中间结果数据进行合并组段,得到多个中间结果数据段。
本发明实施例在Map模块103中添加合并组段功能,Map模块103可以根据段组织所有的中间结果数据,但是中间结果数据仍按现有区域存放方式组织。因此Map模块103可以先按段组织输出数据缓存区,相同段的数据存放在一起,不同的段的数据区分存放,在段内,数据仍按现有区域方式组织。
具体地,Map模块103中的中间结果数据段获取单元103c可以根据时间间隔、中间结果数据的个数或预设的时刻点等预设的规则进行合并组段,例如:设置5秒时间段内得到的中间结果数据对应一个中间结果数据段,则中间结果数据流段获取单元103将0-5秒时间段内得到的中间结果数据存储在一起作为第一中间结果数据段A1、将6-11秒时间段内得到的中间结果数据存储在一起作为第二中间结果数据段A2…依次进行下去。再例如:设置3个中间结果数据为一个中间结果数据段,则中间结果数据流段获取单元103将得到的第1-3个中间结果数据存储在一起作为第一中间结果数据段A1,将得到的第4-6个中间结果数据存储在一起作为第二中间结果数据段A2…依次进行下去。又例如:参见图2,中间结果数据流段获取单元103将中间结果数据依次输出到Map模块103中的输出缓存区中(如图2中小箭头所示),在t1时刻Map模块103请求进行一次分段,在t2时刻Map模块103又请求进行一次分段,则数据被划分为3段,分别是第一中间结果数据段A1、第二中间结果数据段A2和第三中间结果数据段A3。
需要说明的是,并不限于根据时间间隔、中间结果数据的个数或在预设的时刻点进行合并组段,可以根据实际情况,选择任何其他可行的实现方式,对此不做具体限定。例如:对于股票数据流,可以是当数据流中出现某个特殊的数据时就进行分段,如当股票价格为10元时就进行一次分段。
中间结果数据段处理单元103d,用于将中间结果数据段获取单元103c得到的多个中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块104进行处理
其中,Reduce模块104包括:
Reduce处理单元104a,用于接收中间结果数据段处理单元103d发送的所有具有相同键的中间结果数据,并对所有具有相同键的中间结果数据进行相应的Reduce处理,得到相应的最终结果数据流。
具体地,可以通过调用预先设置的Reduce函数对所有具有相同键的中间结果数据进行Reduce处理,具体处理与现有技术类似,此处不再赘述。
优选地,参见图3,Map模块103还可以包括:
中间结果数据段选取单元103e,用于从中间结果数据段获取单元103c得到的多个中间结果数据段中选取出符合预设的处理条件的中间结果数据段。
相应地,
中间结果数据段处理单元103d,还用于将中间结果数据段选取单元103e选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块进行处理。
需要说明的是,并不是所有的中间结果数据段都需要进行Reduce处理,可以根据具体的应用状况,从得到的多个中间结果数据段中选取出符合预设的处理条件的中间结果数据段进行Reduce处理。例如:预设的处理条件可以是对中间结果数据段进行间隔处理,每隔一个处理一个;或预设的处理条件可以是每隔5秒处理一个。可以根据实际应用状况,灵活设置预设的处理条件,对此不做具体限定。
优选地,参见图4,Reduce模块104还可以包括:
中间结果数据段请求单元104b,用于向中间结果数据段处理单元103d发送中间结果数据段获取请求,请求其所需要处理的中间结果数据段。
例如,Reduce模块104根据其当前的Reduce任务,确定其需要处理第一中间结果数据段中的数据,则向Map模块103请求第一中间结果数据段;或者Reduce模块104根据其当前的Reduce任务,确定其需要处理第一中间结果数据段和第三中间结果数据段中的数据,则向Map模块103请求第一中间结果数据段和第三中间结果数据段。
并且,Reduce模块104在请求其所需要处理的中间结果数据段时,可以进一步地在请求中携带限制条件,如请求只处理中间结果数据段中的偶数数据,从而可以对中间结果数据段中的数据做进一步的过滤。
相应地,
中间结果数据段处理单元103d,还用于在接收到中间结果数据段请求单元104b发送的中间结果数据段获取请求后,将中间结果数据段请求单元104b请求所需要处理的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块104进行处理。
Reduce模块104可以根据其自身的Reduce任务,主动向Map模块103请求其所需要的中间结果数据段,可以在MapReduce***中设置处理不同中间结果数据段的Reduce模块104,使得Map模块103和Reduce模块104的对应关系多样化,使得Reduce模块不需要处理Map模块的所有输出,解耦了Map模块103和Reduce模块104原有的一一对应关系,可以灵活创建Reduce模块104,且可以对Map模块103得到的中间结果数据进行复用。
优选地,参见图5,作业跟踪模块102还可以包括:
Reduce模块启动单元102b,用于监控Map模块103的运行状态,并在需要Reduce104模块进行Reduce处理时,启动Reduce模块104。
即可以先不启动Reduce模块104,在需要启动时,再启动。
优选地,参见图6,作业跟踪模块102还可以包括:
中间结果数据段删除请求单元102c,用于请求Map模块103删除相应的中间结果数据段。
例如,如果当前的应用只需要处理1小时之内的中间结果数据段,那么,在1小时之前的所有中间结果数据段,都可以被删除,则可以请求Map模块103删除1小时之前的所有中间结果数据段。
相应地,参见图7,Map模块103还可以包括:
中间结果数据段删除单元103f,用于在接收到中间结果数据段删除请求单元102c的请求后,删除相应的中间结果数据段。
例如,在接收到请求删除1小时之前的所有中间结果数据段后,删除1小时之前的所有中间结果数据段。
本发明实施例所述的MapReduce***,在对数据流进行并行处理的过程中,对Map模块的输出进行合并组段,然后在段上进行Reduce处理,使得MapReduce***可以支持数据流的处理,解决了现有MapReduce***不能处理数据流的限制。并且,Map模块可以从多个中间结果数据段中选取出符合一定条件的中间结果数据段或将Reduce模块请求处理的间结果数据流段发送给Reduce模块进行处理,可以对Reduce模块的输入进行灵活选择,可以为Reducer模块提供它需要处理的所有数据,使得Reduce模块可以只处理Map模块的部分输出,不需要处理Map模块的所有输出,解耦了Map模块和Reduce模块原有的一一对应关系,且可以对Map模块得到的中间结果数据进行复用,减少Map模块和Reduce模块之间的数据传输。
实施例2
参见图8,本发明实施例提供了一种处理数据流的方法,该方法包括:
201:按照数据流到达时刻或预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,并行计算数据流是与用户提交的并行处理作业对应的待处理数据流。
202:对获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据。
203:对中间结果数据进行合并组段,得到多个中间结果数据段。
204:对多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,得到相应的最终结果数据。
进一步地,得到多个中间结果数据段之后,该方法还包括:
从多个中间结果数据段中选取出符合预设的处理条件的中间结果数据段;
相应地,对多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,具体为:
对选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
进一步地,得到多个中间结果数据段之后,该方法还包括:
接收对需要进行Reduce处理的中间结果数据段进行处理的请求;
对需要处理的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
进一步地,该方法还包括:
接收删除相应的中间结果数据段的请求;
删除请求删除的中间结果数据段。
本发明实施例所述的处理数据流的方法,在对数据流进行并行处理的过程中,对Map模块的输出进行合并组段,然后在段上进行Reduce处理,使得MapReduce***可以支持数据流的处理,解决了现有MapReduce***不能处理数据流的限制。并且,Map模块可以从多个中间结果数据段中选取出符合一定条件的中间结果数据段或将Reduce模块请求处理的间结果数据流段发送给Reduce模块进行处理,可以对Reduce模块的输入进行灵活选择,可以为Reducer模块提供它需要处理的所有数据,使得Reduce模块可以只处理Map模块的部分输出,不需要处理Map模块的所有输出,解耦了Map模块和Reduce模块原有的一一对应关系,且可以对Map模块得到的中间结果数据进行复用,减少Map模块和Reduce模块之间的数据传输。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种MapReduce***,其特征在于,所述***包括:M个映射Map模块和R个规约Reduce模块,其中,M为正整数,R为自然数;
其中,所述Map模块包括:
原始数据流数据获取单元,用于按照数据流到达时刻或预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,所述并行计算数据流是与用户提交的并行处理作业对应的待处理数据流;
中间结果数据获取单元,用于对所述原始数据流数据获取单元获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据;
中间结果数据段获取单元,用于根据预设的规则,对所述中间结果数据获取单元得到的中间结果数据进行合并组段,得到多个中间结果数据段;
中间结果数据段选取单元,用于从所述中间结果数据段获取单元得到的多个中间结果数据段中选取出符合预设的处理条件的中间结果数据段,所述预设的处理条件是对所述中间结果数据段进行间隔处理;
中间结果数据段处理单元,用于将所述中间结果数据段获取单元得到的多个中间结果数据段中的所有具有相同键的中间结果数据,发送给相应的Reduce模块进行处理;
其中,所述Reduce模块包括:
Reduce处理单元,用于接收所述中间结果数据段处理单元发送的所有具有相同键的中间结果数据,并对所有具有相同键的中间结果数据进行Reduce处理,得到相应的最终结果数据。
2.根据权利要求1所述的MapReduce***,其特征在于,所述中间结果数据段处理单元,还用于将所述中间结果数据段选取单元选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块进行处理。
3.根据权利要求1所述的MapReduce***,其特征在于,所述Reduce模块还包括:
中间结果数据段请求单元,用于向所述中间结果数据段处理单元发送中间结果数据段获取请求,请求其所需要处理的中间结果数据段;
相应地,
所述中间结果数据段处理单元,还用于在接收到所述中间结果数据段请求单元发送的中间结果数据段获取请求后,将所述中间结果数据段请求单元请求所需要处理的中间结果数据段中的所有具有相同键的中间结果数据发送给相应的Reduce模块进行处理。
4.根据权利要求1-3中任意一项权利要求所述的MapReduce***,其特征在于,所述***还包括:客户端模块和作业跟踪模块;
所述客户端模块,用于将用户撰写的并行处理作业提交至所述作业跟踪模块;并将所述并行计算数据流的源位置信息告知所述作业跟踪模块;
其中,所述作业跟踪模块包括:
作业分解分配单元,用于接收所述客户端模块提交的并行处理作业,将所述并行处理作业分解为m个Map任务和r个Reduce任务,将m个Map任务分别分配到M个所述Map模块,将r个Reduce任务分别分配到R个所述Reduce模块,并将所述并行计算数据流的源位置信息告知所述Map模块,其中,m为正整数,r为自然数,且m大于等于M,r大于等于R。
5.根据权利要求4所述的MapReduce***,其特征在于,所述作业跟踪模块还包括:
Reduce模块启动单元,用于监控所述Map模块的运行状态,并在需要所述Reduce模块进行Reduce处理时,启动所述Reduce模块。
6.根据权利要求4所述的MapReduce***,其特征在于,所述作业跟踪模块还包括:
中间结果数据段删除请求单元,用于请求所述Map模块删除相应的中间结果数据段;
相应地,所述Map模块还包括:
中间结果数据段删除单元,用于在接收到所述中间结果数据段删除请求单元的请求后,删除相应的中间结果数据段。
7.一种处理数据流的方法,其特征在于,所述方法包括:
按照数据流到达时刻或预设的时间间隔,不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,所述并行计算数据流是与用户提交的并行处理作业对应的待处理数据流;
对获取的每份原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据;
对所述中间结果数据进行合并组段,得到多个中间结果数据段;
从所述多个中间结果数据段中选取出符合预设的处理条件的的中间结果数据段,所述预设的处理条件是对所述中间结果数据段进行间隔处理;
对所述多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,得到相应的最终结果数据。
8.根据权利要求7所述的处理数据流的方法,其特征在于,所述对所述多个中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理,具体为:
对选取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
9.根据权利要求7所述的处理数据流的方法,其特征在于,所述得到多个中间结果数据段之后,所述方法还包括:
接收对需要进行Reduce处理的中间结果数据段进行处理的请求;
对需要处理的中间结果数据段中的所有具有相同键的中间结果数据进行相应的Reduce处理。
10.根据权利要求7所述的处理数据流的方法,其特征在于,所述方法还包括:
接收删除相应的中间结果数据段的请求;
删除请求删除的中间结果数据段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010523169.7A CN102456031B (zh) | 2010-10-26 | 2010-10-26 | 一种MapReduce***和处理数据流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010523169.7A CN102456031B (zh) | 2010-10-26 | 2010-10-26 | 一种MapReduce***和处理数据流的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102456031A CN102456031A (zh) | 2012-05-16 |
CN102456031B true CN102456031B (zh) | 2016-08-31 |
Family
ID=46039228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010523169.7A Active CN102456031B (zh) | 2010-10-26 | 2010-10-26 | 一种MapReduce***和处理数据流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102456031B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150161B (zh) * | 2013-02-06 | 2016-04-13 | 中金数据***有限公司 | 基于MapReduce计算模型的任务封装方法及装置 |
US9448851B2 (en) | 2013-06-19 | 2016-09-20 | International Business Machines Corporation | Smarter big data processing using collaborative map reduce frameworks |
CN103327128A (zh) * | 2013-07-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 用于MapReduce的中间数据传输方法及*** |
CN104346380B (zh) * | 2013-07-31 | 2018-03-09 | 华为技术有限公司 | 基于MapReduce模型的数据排序方法和*** |
CN104391748A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种mapreduce计算过程优化方法 |
CN104484616A (zh) * | 2014-12-03 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种MapReduce数据处理框架下的隐私保护方法 |
CN106202092B (zh) | 2015-05-04 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 数据处理的方法及*** |
EP3376372A4 (en) * | 2015-12-31 | 2018-12-26 | Huawei Technologies Co., Ltd. | Data processing method, device, and system |
CN105786603B (zh) * | 2016-02-29 | 2022-03-11 | 青岛海尔智能家电科技有限公司 | 一种基于分布式的高并发业务处理***及方法 |
CN105975577A (zh) * | 2016-05-04 | 2016-09-28 | 乐视控股(北京)有限公司 | 大数据处理中的数据优化方法和装置 |
CN105975600A (zh) * | 2016-05-11 | 2016-09-28 | 乐视控股(北京)有限公司 | 大数据处理中的任务优化方法和装置 |
CN107993696B (zh) * | 2017-12-25 | 2020-11-17 | 东软集团股份有限公司 | 一种数据采集方法、装置、客户端及*** |
CN109992372A (zh) * | 2017-12-29 | 2019-07-09 | ***通信集团陕西有限公司 | 一种基于映射归约的数据处理方法及装置 |
CN110222105B (zh) * | 2019-05-14 | 2021-06-29 | 联动优势科技有限公司 | 数据汇总处理方法及装置 |
CN111444148B (zh) * | 2020-04-09 | 2023-09-05 | 南京大学 | 基于MapReduce的数据传输方法和装置 |
CN116302574B (zh) * | 2023-05-23 | 2023-08-18 | 北京前景无忧电子科技股份有限公司 | 一种基于MapReduce的并发处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190610B2 (en) * | 2006-10-05 | 2012-05-29 | Yahoo! Inc. | MapReduce for distributed database processing |
US8682998B2 (en) * | 2008-10-31 | 2014-03-25 | Software Ag | Method and server cluster for map reducing flow services and large documents |
CN101764835B (zh) * | 2008-12-25 | 2012-09-05 | 华为技术有限公司 | 基于MapReduce编程架构的任务分配方法及装置 |
US20100205075A1 (en) * | 2009-02-11 | 2010-08-12 | Yahoo! Inc. | Large-scale item affinity determination using a map reduce platform |
-
2010
- 2010-10-26 CN CN201010523169.7A patent/CN102456031B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102456031A (zh) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102456031B (zh) | 一种MapReduce***和处理数据流的方法 | |
US9740706B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
CN110908788B (zh) | 基于Spark Streaming的数据处理方法、装置、计算机设备及存储介质 | |
CN110716802B (zh) | 一种跨集群的任务调度***及方法 | |
JP2021518021A (ja) | データ処理方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
CN102779183B (zh) | 数据查询的方法、设备及*** | |
CN111104188A (zh) | 漏洞扫描器的调度方法及装置 | |
CN110019200A (zh) | 一种索引的建立、使用方法及装置 | |
CN113204598A (zh) | 一种数据同步方法、***及存储介质 | |
WO2020147601A1 (zh) | 用于对图进行学习的*** | |
CN112182111B (zh) | 基于区块链的分布式***分层处理方法和电子设备 | |
CN110262896A (zh) | 一种面向Spark***的数据处理加速方法 | |
US10785102B2 (en) | Modifying distributed application based on cloud diagnostic data | |
EP4109366A1 (en) | Method and device for managing project by using data merging | |
CN116974994A (zh) | 一种基于集群的高效能文件协作*** | |
Song et al. | Towards modeling large-scale data flows in a multidatacenter computing system with petri net | |
CN110187936A (zh) | 数据回流平台、***及方法 | |
CN111651262B (zh) | 批量任务生成方法及装置 | |
CN110633142B (zh) | 区块链的共识方法、管理节点、电子设备以及存储介质 | |
CN114282620A (zh) | 一种多源信息物理孪生数据融合管理方法与管理*** | |
CN107977403A (zh) | 历史数据查询方法及装置 | |
CN103617033A (zh) | 基于MapReduce的数据处理方法、客户端和*** | |
CN114691766A (zh) | 数据采集方法、装置及电子设备 | |
JP2016071725A (ja) | ワークフロー制御プログラム、ワークフロー制御方法及び情報処理装置 | |
EP4109364B1 (en) | Method and device for managing project by using data pointer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180907 Address after: 100191 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518000 East 403 room, Sai Ge science and Technology Park, Futian District, Shenzhen, Guangdong, 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |