CN107844568B - 一种处理数据源更新的MapReduce执行过程优化方法 - Google Patents

一种处理数据源更新的MapReduce执行过程优化方法 Download PDF

Info

Publication number
CN107844568B
CN107844568B CN201711070157.1A CN201711070157A CN107844568B CN 107844568 B CN107844568 B CN 107844568B CN 201711070157 A CN201711070157 A CN 201711070157A CN 107844568 B CN107844568 B CN 107844568B
Authority
CN
China
Prior art keywords
task
map
data source
data
monitor
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
Application number
CN201711070157.1A
Other languages
English (en)
Other versions
CN107844568A (zh
Inventor
郭文鑫
曾坚永
赵瑞锋
姚珺玉
张锐
邓大为
徐展强
卢建刚
李波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Original Assignee
Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd filed Critical Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Priority to CN201711070157.1A priority Critical patent/CN107844568B/zh
Publication of CN107844568A publication Critical patent/CN107844568A/zh
Application granted granted Critical
Publication of CN107844568B publication Critical patent/CN107844568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机技术领域,更具体地,涉及一种处理数据源更新的MapReduce执行过程优化方法,引入Monitor监测器任务及Rule规则判断任务,对Map任务进行监控,在数据源有更新的情况下,无需重启整个MapReduce任务,而是仅将所处理的数据源切片发生更新的Map任务重启,其他Map任务继续执行,这样能够更有效地利用Hadoop集群的资源,提高MapReduce任务的运行效率。本发明既满足了数据更新的需求,也能提高程序执行效率。

Description

一种处理数据源更新的MapReduce执行过程优化方法
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种处理数据源更新的MapReduce执行过程优化方法。
背景技术
随着大数据技术的发展,基于Hadoop集群的海量数据存储、分析及处理应用越来越广泛。Hadoop是基于Google云平台的开源实现。Hadoop的两个核心组件是分布式文件系统HDFS(存储海量数据)和并行计算框架MapReduce(进行分布式并行计算)。
通常采用MapReduce计算框架对海量数据进行分析及处理。MapReduce在执行过程中,首先对数据源进行切片,形成若干个DataSplit,并在集群中的不同节点上启动Mapper任务,读取数据源切片DataSplit,Map任务执行完成后将输出结果保存在本地,并以键值对Key-Value形式存储。接着对Map的输出结果进行Shuffle,目的是将键Key相同的值Value传输到同一个Reducer节点上。这个过程中,待Map执行完后才启动Reducer任务,Map任务可能会执行几分钟至几小时不等,如果在Map任务执行过程中,数据源有新的数据,所有的Map任务则要重新执行,即重启MapReduce任务,这会大大降低MapReduce的执行效率。因此,需要引入一种新的机制,对Map任务进行监控,当满足一定规则时,只重新启动部分Map任务,而其他Map任务不受干扰,这样既满足了数据更新的需求,也能提高程序执行效率。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷,提供一种处理数据源更新的MapReduce执行过程优化方法,在数据源有更新的情况下,提高整个MapReduce任务的执行效率。
为解决上述技术问题,本发明采用了如下技术方案:
一种处理数据源更新的MapReduce执行过程优化方法,包括Map任务和Reducer任务,在Map任务执行过程中,启动Monitor监测器任务及Rule规则判断任务;
Monitor监测器任务监测数据源切片并记录其快照;
Rule规则判断任务判断数据源切片的变化情况,并决定是否重启Map任务。
进一步地,监测器任务Monitor为定时任务,每隔一定时间间隔Tμ启动。
具体地,监测器任务Monitor的执行步骤如下:
S11:记第一次启动Map任务的时刻为T0,并将T0时刻各个数据源切片的快照(Snapshot)记为D0
S12:在每个Mapi节点上,均启动一个Monitori任务,每隔Tμ时间,记录当前Mapi所对应的数据源切片快照,结构如下:
{No.Mapi,<Dm,Dn>}
其中,No.Mapi为第i个Map任务的编号;Dm为上一次Mapi重启时所处理的数据切片,Dn是Mapi任务处理的数据源切片在时间Tn(n=1,2,3…)的快照,时间间隔为Tμ,即:
Ti+1=Ti+Tμ,i=0,1,2,…,n-1。
进一步地,规则判断任务Rule在Monitor监测器任务完成记录数据源切片快照后启动,Rule任务在每个Map节点上执行。
具体地,规则判断任务Rule的执行步骤如下:
S21:计算当前时刻Tn的数据源切片Dn与上一次Mapi启动或重启时所处理的数据切片Dm的数据条数Nn和Nm
S22:计算当前时刻Tn的数据源切片Dn与上一次Mapi重启时所处理的数据切片Dm的差异F(m,n):
Figure BDA0001456646710000021
其中,Xnk和Xmk分别是数据源Dn和Dm的数据项(k=1,2,3,…,N);当Dn和Dm的数据条数不相等时,用数据条数的差异计算Dn和Dm的差异;当Dn和Dm的数据条数相等,则比较Dn和Dm的每条数据的差异;
S23:当Nn≠Nm时,判断差异F(m,n)是否超过阈值α,如果F(m,n)>α,则重启Mapi,反之,则忽略差异;当Nn=Nm时,判断差异F(m,n)是否超过阈值β,如果F(m,n)>β,则重启Mapi,反之,则忽略差异;
S24:若Mapi重启,则将Dm置为Dn,并记录下Mapi处理的当前最新数据,若Mapi未重启,则Dm保持不变。
与现有技术相比,有益效果是:在数据源有更新的情况下,无需重启整个MapReduce任务,而是仅将所处理的数据源切片发生更新的Map任务重启,其他Map任务继续执行,这样能够更有效地利用Hadoop集群的资源,提高MapReduce任务的运行效率;Monitor任务只记录上一次Map任务启动或者重启时处理的数据源切片和当前的数据源切片,而不需记录所有监测时刻Ti的数据源切片,这样有效的限制了数据存储空间,本MapReduce优化方法所需的存储空间代价较小;本发明中Monitor和Rule任务与正在执行的Map任务是并行完成的,不会带来额外的时间成本,而在数据源发生较大更新时,能够减少总的MapReduce任务执行时间。
附图说明
图1是本发明在一实施例中的MapReduce任务执行图。
图2是本发明在一实施例中的Monitor和Rule任务执行过程示意图。
图3是本发明在一实施例中的Rule任务的执行流程图。
具体实施方式
下面结合附图对本发明进行进一步地描述,需要说明的是,附图仅用于示例性说明,不能理解为对本专利的限制。
如图1所示,一种处理数据源更新的MapReduce执行过程优化方法,包括Map任务和Reducer任务,在Map任务执行过程中,启动Monitor监测器任务及Rule规则判断任务;
Monitor监测器任务每隔Tμ时间记录一次Map任务所处理的数据源切片的快照;
Rule规则算当前最新的数据源切片快照和Map所处理的数据源切片的快照的差异,并决定是否重启Map任务。
结合图2对本发明的具体执行过程进行说明,在本实施例中,Tμ=3min:
S1:T0时刻首次执行Map任务,Monitor任务记录当前的数据源切片D0,并将D0的快照赋值给Dm,并每隔时间间隔Tμ记录Ti时刻数据源切片的快照。
S2:T1时刻,Monitor任务记录D1的快照,即Dn=D1。Rule任务计算F(m,n),这里Dn和Dm的数据条数相等,即Nm=Nn,且计算得出F(m,n)<β,则不需要重启Map任务。T2时刻,Monitor和Rule任务执行相同的操作。
S3:T3时刻,Monitor任务记录D3的快照,即Dn=D3。Rule任务计算F(m,n),这里Nm=Nn,并且数据发生较大的变化,计算得出F(m,n)>β,此刻,需要重启Map任务。此时,将Dm记为D3
S4:T4时刻,Monitor任务记录D4的快照,即Dn=D4。Rule任务计算F(m,n),这里Dn和Dm的数据条数相等,即Nm=Nn,计算得出F(m,n)<β,则不需要重启Map任务。T5及T6时刻,Monitor和Rule任务执行相同的操作。
S5:直到T7时刻,Monitor任务记录D7的快照,即Dn=D7。Rule任务计算F(m,n),这里Nm=Nn,并且数据发生较大的变化,计算得出F(m,n)>β,此刻,需要重启Map任务。此时,将Dm记为D7
S6:以此类推,每隔Tμ时间,Monitor和Rule任务执行一次,直到Map任务不再需要重启并执行完毕为止。
具体地,Rule任务执行时,根据Nm和Nn的值来确定计算方法,如图3所示。
首先计算Dm和Dn的数据条数Nm和Nn
如果Nm和Nn相等,则通过公式
Figure BDA0001456646710000041
计算F(m,n)的值,并判断F(m,n)是否超过阈值β;如果Nm和Nn不等,则通过公式
Figure BDA0001456646710000042
计算F(m,n)的值,并判断F(m,n)是否超过阈值α。
如果F(m,n)超过阈值α或者β,则将Dm置为Dn,并重启Map任务,否则Map任务继续执行。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (3)

1.一种处理数据源更新的MapReduce执行过程优化方法,包括Map任务和Reducer任务,其特征在于:在Map任务执行过程中,启动Monitor监测器任务及Rule规则判断任务;
Monitor监测器任务监测数据源切片并记录其快照;
Rule规则判断任务判断数据源切片的变化情况,并决定是否重启Map任务;
所述监测器任务Monitor的执行步骤如下:
S11:记第一次启动Map任务的时刻为T0,并将T0时刻各个数据源切片的快照(Snapshot)记为D0
S12:在每个Mapi节点上,均启动一个Monitori任务,每隔Tμ时间,记录当前Mapi所对应的数据源切片快照,结构如下:
{No.Mapi,<Dm,Dn>}
其中,No.Mapi为第i个Map任务的编号;Dm为上一次Mapi重启时所处理的数据切片,Dn是Mapi任务处理的数据源切片在时间Tn(n=1,2,3…)的快照;
所述规则判断任务Rule的执行步骤如下:
S21:计算当前时刻Tn的数据源切片Dn与上一次Mapi启动或重启时所处理的数据切片Dm的数据条数Nn和Nm
S22:计算当前时刻Tn的数据源切片Dn与上一次Mapi重启时所处理的数据切片Dm的差异F(m,n):
Figure FDA0003007415760000011
其中,Xnk和Xmk分别是数据源Dn和Dm的数据项(k=1,2,3,…,N);当Dn和Dm的数据条数不相等时,用数据条数的差异计算Dn和Dm的差异;当Dn和Dm的数据条数相等,则比较Dn和Dm的每条数据的差异;
S23:当Nn≠Nm时,判断差异F(m,n)是否超过阈值α,如果F(m,n)>α,则重启Mapi,反之,则忽略差异;当Nn=Nm时,判断差异F(m,n)是否超过阈值β,如果F(m,n)>β,则重启Mapi,反之,则忽略差异;
S24:若Mapi重启,则将Dm置为Dn,并记录下Mapi处理的当前最新数据,若Mapi未重启,则Dm保持不变。
2.根据权利要求1所述的一种处理数据源更新的MapReduce执行过程优化方法,其特征在于:所述监测器任务Monitor为定时任务,每隔一定时间间隔Tμ启动。
3.根据权利要求1所述的一种处理数据源更新的MapReduce执行过程优化方法,其特征在于:所述规则判断任务Rule在Monitor监测器任务完成记录数据源切片快照后启动。
CN201711070157.1A 2017-11-03 2017-11-03 一种处理数据源更新的MapReduce执行过程优化方法 Active CN107844568B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711070157.1A CN107844568B (zh) 2017-11-03 2017-11-03 一种处理数据源更新的MapReduce执行过程优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711070157.1A CN107844568B (zh) 2017-11-03 2017-11-03 一种处理数据源更新的MapReduce执行过程优化方法

Publications (2)

Publication Number Publication Date
CN107844568A CN107844568A (zh) 2018-03-27
CN107844568B true CN107844568B (zh) 2021-05-28

Family

ID=61681320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711070157.1A Active CN107844568B (zh) 2017-11-03 2017-11-03 一种处理数据源更新的MapReduce执行过程优化方法

Country Status (1)

Country Link
CN (1) CN107844568B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101079786B1 (ko) * 2010-01-06 2011-11-03 충남대학교산학협력단 병렬 연산에 의한 플로우 데이터 분석 방법
US20140226975A1 (en) * 2013-02-13 2014-08-14 Sodero Networks, Inc. Method and apparatus for boosting data intensive processing through optical circuit switching
CN104615526A (zh) * 2014-12-05 2015-05-13 北京航空航天大学 一种大数据平台的监控系统
CN104503820B (zh) * 2014-12-10 2018-07-24 华南师范大学 一种基于异步启动的Hadoop优化方法
CN105138679B (zh) * 2015-09-14 2018-11-13 桂林电子科技大学 一种基于分布式缓存的数据处理系统及处理方法

Also Published As

Publication number Publication date
CN107844568A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
US11556543B1 (en) Streaming joins with synchronization via stream time estimations
US9047331B2 (en) Scalable row-store with consensus-based replication
US11087234B2 (en) Method and system for distributed deep machine learning
US11010171B2 (en) Efficient out of process reshuffle of streaming data
Cheng et al. Kineograph: taking the pulse of a fast-changing and connected world
CN105871603B (zh) 一种基于内存数据网格的实时流式数据处理失效恢复系统及方法
US20200012575A1 (en) Method and system for data recovery in a data system
CN103440167B (zh) Hadoop多作业环境下自学习反馈的任务调度方法
US11544232B2 (en) Efficient transaction log and database processing
CN106325984B (zh) 一种大数据任务调度装置
CN105205154B (zh) 数据迁移方法以及装置
US10983981B1 (en) Acid transaction for distributed, versioned key-value databases
CN111026568B (zh) 数据和任务关系构建方法、装置、计算机设备及存储介质
US20160191369A1 (en) Monitoring support system, monitoring support method, and recording medium
US20170161313A1 (en) Detection and Resolution of Conflicts in Data Synchronization
Ding et al. Centiman: elastic, high performance optimistic concurrency control by watermarking
Xu et al. Efficient fault-tolerance for iterative graph processing on distributed dataflow systems
WO2015065369A1 (en) Asynchronous garbage collection in a distributed database system
Toliopoulos et al. Parallel continuous outlier mining in streaming data
CN107844568B (zh) 一种处理数据源更新的MapReduce执行过程优化方法
US10089350B2 (en) Proactive query migration to prevent failures
Schapranow et al. HIG—An in-memory database platform enabling real-time analyses of genome data
WO2021257263A1 (en) Techniques for generating a consistent view of an eventually consistent database
Lei et al. Redoop: Supporting Recurring Queries in Hadoop.
CN113220530A (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