CN107844568B - 一种处理数据源更新的MapReduce执行过程优化方法 - Google Patents
一种处理数据源更新的MapReduce执行过程优化方法 Download PDFInfo
- 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
Links
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task 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执行过程优化方法。
背景技术
随着大数据技术的发展,基于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):
其中,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。
如果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):
其中,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监测器任务完成记录数据源切片快照后启动。
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)
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 | 桂林电子科技大学 | 一种基于分布式缓存的数据处理系统及处理方法 |
-
2017
- 2017-11-03 CN CN201711070157.1A patent/CN107844568B/zh active Active
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 |