CN105045602B - 一种构建Hadoop应用开发框架的方法、装置及电子装置 - Google Patents

一种构建Hadoop应用开发框架的方法、装置及电子装置 Download PDF

Info

Publication number
CN105045602B
CN105045602B CN201510523220.7A CN201510523220A CN105045602B CN 105045602 B CN105045602 B CN 105045602B CN 201510523220 A CN201510523220 A CN 201510523220A CN 105045602 B CN105045602 B CN 105045602B
Authority
CN
China
Prior art keywords
task
legitimacy
parameters
file
detection
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
CN201510523220.7A
Other languages
English (en)
Other versions
CN105045602A (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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510523220.7A priority Critical patent/CN105045602B/zh
Publication of CN105045602A publication Critical patent/CN105045602A/zh
Application granted granted Critical
Publication of CN105045602B publication Critical patent/CN105045602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明的实施例公开一种构建Hadoop应用开发框架的方法、装置及电子装置。方法包括:分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;在调度配置文件中设置进行可视化编辑的任务调度川页序;在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;设置对调度配置文件中的任务进行启动及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。应用本发明,可以提升构建的Hadoop应用开发框架效率。

Description

一种构建Hadoop应用开发框架的方法、装置及电子装置
技术领域
本发明涉及计算机应用技术,尤其涉及一种构建Hadoop应用开发框架的方法、装置及电子装置。
背景技术
Hadoop应用开发框架是一种采用分布式文件系统(HDFS,Hadoop DistributedFile System)技术,能够对大量数据(任务)进行分布式处理的软件框架,通过维护多个数据(任务)副本,确保能够针对处理失败的数据重新进行分布处理,因而,具有高容错性特性,并能提供高吞吐量来进行数据(任务)访问,广泛应用于具有超大数据集需求的应用场景。利用Hadoop应用开发框架,用户可以在不了解底层细节的情况下,进行分布式程序开发,从而可以充分利用Hadoop应用开发框架的高吞吐量进行数据(任务)高速运算和存储。
Hadoop应用开发框架主要功能包括HDFS以及MapReduce,其中,HDFS为海量的任务或数据提供分布式存储,MapReduce为海量的任务或数据进行调度并提供分布式计算。
现有技术中,在构建Hadoop应用开发框架以及基于Hadoop应用开发框架的Hadoop应用开发中,一般基于预先设置的Hadoop接口。目前,Hadoop接口包括:应用程序编程接口(API,Application Programming Interface)以及命令行两种方式。由于通过命令行方式构建任务更简单,因而,技术开发人员一般使用Hadoop命令行的方式来构建Hadoop应用开发框架,并基于构建的Hadoop应用开发框架,在命令行中预留有任务参数设置的位置处填入待开发任务对应的任务参数,从而实现待开发任务的分布式运算和存储。
现有技术中,在构建Hadoop应用开发框架以及进行任务开发时,需要技术开发人员编写相应的命令行,并在编写的命令行中,为每一任务逐一填写需要的任务参数,在命令行中所有任务配置完毕后,向系统中的集群服务器发送处理请求,通过系统中的集群服务器,将命令行配置的任务分发到集群中的各节点进行处理,各节点将相应配置的任务逐一进行启动并运行,并将运行结果通过集群服务器返回给发送处理请求的节点。这样,由于目前构建Hadoop应用开发框架涉及的任务数量一般较多,因而,当技术开发人员需要实现多个任务时,需要独立编写任务对应的命令行、填写相应的任务参数,即使对于相同或相似的命令行,也需要逐一编写或复制,使得实现任务的工作变得较为重复和繁琐,且每一构建的Hadoop应用开发框架只能应用于一Hadoop应用开发,导致构建Hadoop应用开发框架以及基于Hadoop应用开发框架进行Hadoop应用开发的效率较低,且由于重复性的命令行编写方式,以及,需要技术开发人员依据记忆或查阅资料逐一填写多个任务对应的任务参数,容易导致命令行编写以及任务参数填写出错,例如,遗漏任务中的一个或多个任务参数,或者,增加该任务中不存在的任务参数,使得后续进行任务处理时,由于出错而终止处理,从而也导致构建的Hadoop应用开发框架的效率低。
发明内容
有鉴于此,本发明实施例提供一种构建Hadoop应用开发框架的方法、装置及电子装置,提升构建的Hadoop应用开发框架效率。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种构建Hadoop应用开发框架的方法,包括:
分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
在调度配置文件中设置进行可视化编辑的任务调度顺序;
在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
优选地,所述方法进一步包括:
在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
调用所述任务参数检测文件启动所述调度任务集,依序提取所述任务集中每一任务在对应可视界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
优选地,所述依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测包括:
如果所述任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过,确定所述任务调度集未通过合法性检测,如果所述任务集中所有任务对应的任务参数中的所有项分别通过合法性检测,确定所述任务调度集通过合法性检测。
优选地,在所述任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过之后,确定所述任务调度集未通过合法性检测之前,所述方法进一步包括:
记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到用户修改的具体的任务参数值后,再次进行合法性检测。
优选地,所述方法进一步包括:
记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,退出所述调度任务集。
优选地,所述任务参数检测文件包括:任务调度列表启动脚本子文件以及任务合法性检测子文件,其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以使任务合法性检测子文件遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。
优选地,所述任务调度包括:本地任务调度、串行MapReduce任务调度、并行MapReduce任务调度。
优选地,所述任务调度顺序以任务调度列表方式进行描述。
优选地,所述任务参数包括:任务名、任务输入路径、任务输出路径、Map任务命令行、Reduce任务命令行、需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法,其中,任务名、任务输入路径、任务输出路径、Map任务命令行、Reduce任务命令行为任务参数的必选项,需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法为任务参数的可选项。
本发明实施例提供的构建Hadoop应用开发框架的方法,通过为Hadoop应用开发构建统一的可视化的Hadoop应用开发框架,使得在进行Hadoop应用开发时,只需要在Hadoop应用开发框架提供的可视化编辑界面中指定每一Hadoop应用开发对应的一个或多个任务相关的任务参数,并指定任务之间的调度顺序,无需关注和记忆任务需要配置的任务参数以及具体的任务参数配置值,也无需记忆复杂的Hadoop命令行接口,可以提升Hadoop应用开发的效率,提高构建的Hadoop应用开发框架的利用效率。
另一方面,本发明实施例提供一种构建Hadoop应用开发框架的装置,包括:配置模板文件设置模块、任务调度配置模块、任务参数配置模块以及框架构建模块,其中,
配置模板文件设置模块,用于分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
任务调度配置模块,用于在调度配置文件中设置进行可视化编辑的任务调度顺序;
任务参数配置模块,用于在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
框架构建模块,用于设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
优选地,进一步包括:应用开发模块以及合法性检测模块,其中,
应用开发模块,用于在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
合法性检测模块,用于调用所述任务参数检测文件启动所述调度任务集,依序提取所述任务集中每一任务在对应可视化编辑界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
优选地,所述调度任务为串行MapReduce任务,所述合法性检测模块包括:启动单元、提取单元、合法性检测处理单元以及上传单元,其中,
启动单元,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
提取单元,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述任务集中任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,通知上传单元;
合法性检测处理单元,用于接收来自提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述任务调度集的合法性检测,如果任务参数中的所有项参数都能匹配,通知提取单元提取下一任务;
上传单元,用于接收通知,将通过合法性检测的调度任务集上传以进行任务处理。
优选地,所述合法性检测模块进一步包括:记录处理单元以及合法性检测次数统计单元,其中,
合法性检测次数统计单元,用于在监测到合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知合法性检测处理单元以结束所述任务调度集的合法性检测;否则,通知记录处理单元;
记录处理单元,用于记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至合法性检测处理单元。
优选地,所述调度任务为并行MapReduce任务,所述合法性检测模块包括:启动单元、第二提取单元、第二合法性检测处理单元以及第二上传单元,其中,
启动单元,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
第二提取单元,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述任务集中调度任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,结束流程;
第二合法性检测处理单元,用于接收来自第二提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述任务的合法性检测,如果任务参数中的所有项参数都能匹配,通知第二提取单元提取下一任务,以及,通知第二上传单元;
第二上传单元,用于接收第二合法性检测处理单元输出的通知,将通过合法性检测的调度任务上传以进行任务处理。
优选地,所述合法性检测模块进一步包括:第二记录处理单元以及第二合法性检测次数统计单元,其中,
第二合法性检测次数统计单元,用于在监测到第二合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知第二合法性检测处理单元以结束所述调度任务的合法性检测;否则,通知第二记录处理单元;
第二记录处理单元,用于记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到第二合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至第二合法性检测处理单元。
本发明实施例提供的构建Hadoop应用开发框架的装置,通过分离命令行中的任务调度与任务参数,设置包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件,构建调度配置文件中调度的任务与所述任务参数的映射关系,并依据所述配置模板文件以及任务参数检测文件构建统一的可视化的Hadoop应用开发框架,使得在进行Hadoop应用开发时,只需要在Hadoop应用开发框架提供的可视化编辑界面中指定每一Hadoop应用开发对应的一个或多个任务相关的任务参数,并指定任务之间的调度顺序,无需关注和记忆任务需要配置的任务参数以及具体的任务参数配置值,也无需记忆复杂的Hadoop命令行接口,可以提升Hadoop应用开发的效率,提高构建的Hadoop应用开发框架的利用效率。
再一方面,本发明实施例提供一种电子装置,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:
分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
在调度配置文件中设置进行可视化编辑的任务调度顺序;
在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
本发明实施例提供的电子设备,分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;在调度配置文件中设置进行可视化编辑的任务调度顺序;在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。这样,通过为Hadoop应用开发构建统一的可视化的Hadoop应用开发框架,使得在进行Hadoop应用开发时,只需要在Hadoop应用开发框架提供的可视化编辑界面中指定每一Hadoop应用开发对应的一个或多个任务相关的任务参数,并指定任务之间的调度顺序,无需关注和记忆任务需要配置的任务参数以及具体的任务参数配置值,也无需记忆复杂的Hadoop命令行接口,可以提升Hadoop应用开发的效率,提高构建的Hadoop应用开发框架的利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例构建Hadoop应用开发框架的方法流程示意图;
图2为本发明实施例构建的Hadoop应用开发框架示意图;
图3为本发明实施例构建Hadoop应用开发框架的装置结构示意图;
图4为本发明实施例的合法性检测模块第一结构示意图;
图5为本发明实施例的合法性检测模块第二结构示意图;
图6为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例构建Hadoop应用开发框架的方法流程示意图。参见图1,该方法包括:
步骤101,分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
本步骤中,在预先设置的用户工程中设置配置模板文件(framework.conf),该配置模板文件至少包含调度配置文件(schedule.conf)以及任务列表配置文件(tasklist.conf)。
本发明实施例中,考虑到现有构建Hadoop应用开发框架时,需要针对每一任务,以命令行的方式编写任务调度的程序代码段以及配置任务对应的各任务参数,重复性劳动较多,且在每一次进行Hadoop应用开发时,都需要构建相应的Hadoop应用开发框架,并在构建的Hadoop应用开发框架的命令行中填入相应的任务参数,导致构建的Hadoop应用开发框架利用效率低。本发明实施例中,将命令行中的任务调度与任务参数隔离开来,以调度配置文件封装需要调度的任务,并通过分析大量的任务开发实例,提取出任务具有的共有任务参数,以及,各任务之间不同的可选任务参数,将共有任务参数以及可选任务参数封装在任务列表配置文件中。从而可以在后续的Hadoop应用开发中,提供统一的配置模板文件,通过加载配置模板文件,可以可视化地展示调度配置文件中的任务调度列表,用户在可视化界面显示的任务调度列表中依序输入任务,即可自动生成调度任务集,以及,可视化地展示任务列表配置文件中的任务参数列表,用户在可视化界面显示的任务参数列表中输入相应的具体参数值,即可自动生成应用开发任务参数列表,从而无需依据记忆或查阅资料逐一填写任务对应的任务参数,有效避免命令行编写以及任务参数填写出错,提升Hadoop应用开发效率。
本发明实施例中,实现配置模板文件framework.conf的程序代码段如下:
SCHEDULE_CONF_FILE=${LOCAL_CONF_PATH}/schedule.conf#[required]
TASKLIST_CONF_FILE=${LOCAL_CONF_PATH}/tasklist.conf#[required]
其中,LOCAL_CONF_PATH表示配置模板文件的存储路径,包括调度配置文件存储路径以及任务列表配置文件存储路径,[required]表示为必选项。
步骤102,在调度配置文件中设置进行可视化编辑的任务调度顺序;
本步骤中,在用户工程中对调度配置文件(schedule.conf)进行配置,该调度配置文件用于配置应用开发对应的所有任务的调度(启动)顺序。
本发明实施例中,任务调度可以包括:本地任务调度、串行MapReduce任务调度、并行MapReduce任务调度,即schedule.conf支持本地任务调度、串行MapReduce任务调度、并行MapReduce任务调度。其中,本地任务是指集群外的节点向集群发起任务处理请求,集群内各节点处理完任务后,将处理结果返回集群外的该节点的任务,MapReduce任务是指集群内的节点向集群发起任务处理请求,集群内各节点处理完任务后,将处理结果返回集群内的该节点的任务。
作为一可选实施例,任务调度顺序以任务调度列表方式进行描述。其中,任务调度列表中的每一行对应一调度任务,任务的调度顺序按照任务调度列表中任务所在命令行的先后来确定。例如,如果某一任务所在命令行在另一任务所在命令行的前面,则该某一任务的调度(启动)顺序在该另一任务的调度(启动)顺序之前。当然,实际应用中,调度顺序也可以其它可视的方式进行描述,例如,依序排列的命令行,本发明实施例对此不作限定。
较佳地,任务调度列表中,包括任务调度顺序字段以及任务名字段,在任务调度顺序字段以及任务名字段分别对应的表格栏位,为可视化编辑栏位。
表1为本发明实施例任务调度列表的一示意结构。
表1
任务调度顺序 任务名
本地任务
串行MapReduce任务
并行MapReduce任务
表1中,任务调度顺序中的本地任务、串行MapReduce任务、并行MapReduce任务,在后续Hadoop应用开发中可进行可视化编辑调整。
表2为本发明实施例在后续Hadoop应用开发中对任务调度列表进行可视化编辑后生成的调度任务集的一示意结构。
表2
表2中,通过对表1进行可视化编辑,无需用户记忆命令行编程代码以及编写每一任务对应的命令行。任务调度顺序为:本地任务→串行MapReduce任务→并行MapReduce任务→本地任务,对于本地任务的test-master1和test-master2,表示先调度test-master1,在test-master1处理完毕后,再调度test-master2,对于串行MapReduce任务,其调度顺序与本地任务调度顺序相同,对于并行MapReduce任务,test3与test4可以并行执行。
本发明实施例中,实现表2中调度任务集的程序代码段如下:
[Local]test-master1 test-master2
[MapReduce]test1
[MapReduce]test2
[Parallel]test3 test4
[Local]test-master3
其中,
Local表示本地任务;
MapReduce表示串行MapReduce任务,即单个MapReduce任务;
Parallel表示并行MapReduce任务,即多个MapReduce任务。
本发明实施例中,Local与MapReduce允许配置多个任务,并顺序执行,Parallel允许配置多个任务,并将配置的多个任务并行执行。
步骤103,在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
本步骤中,在用户工程中对tasklist.conf进行配置,该任务列表配置文件用于配置Hadoop应用开发对应的所有任务的任务参数。
本发明实施例中,任务参数包括:任务名、任务输入路径、任务输出路径、Map接口(Map任务命令行)、Reduce接口(Reduce任务命令行)、需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法等,其中,任务名、任务输入路径、任务输出路径、Map任务命令行、Reduce任务命令行为任务参数的必选项,即共有任务参数,需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法为可选项,由技术开发人员根据对应的任务具体选择。
本发明实施例中,在任务列表配置文件中,所有任务具有相同的任务参数,任务参数对应任务参数配置文件。在后续应用中,依据任务参数中可选项选取的不同,为每一任务生成一任务参数,每一任务参数对应一任务参数配置文件,多个任务对应的任务参数配置文件组成应用开发任务列表配置文件。
本发明实施例中,在设置好调度配置文件以及任务列表配置文件后,构建调度配置文件中调度的任务与任务列表配置文件中任务参数的映射关系。这样,可以在后续应用中,在对任务进行调度配置后,通过点击该配置的调度任务,可以切换到该任务对应的可视任务参数界面,从而对任务参数的具体值进行设置。
本发明实施例中,实现在任务列表配置文件tasklist.conf中设置任务的任务参数的程序代码段如下:
其中,[optional]表示可选项。
步骤104,设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
本步骤中,为了有效降低后续任务处理过程中出现的错误,本发明实施例中,在对任务列表配置文件中的任务参数进行具体赋值后,可以通过任务参数检测文件,对任务参数的具体赋值进行合法性检测,并对合法性检测不通过的任务进行提示,以减少后续任务处理过程中出现的错误,从而提升Hadoop应用开发效率。
本发明实施例中,作为可选实施例,任务参数检测文件可以由集群服务器对各任务的任务参数中的具体赋值进行合法性值范围设置,以及,对各任务的任务参数中的非具体赋值,设置合法性检测规则,然后,将任务参数检测文件下发至进行Hadoop应用开发的节点(客户端)。当然,实际应用中,也可以是集群服务器在接收到节点发送的任务处理请求后,从预先存储的任务参数检测文件中,获取与任务处理请求对应的一个或多个任务对应的任务参数检测子文件,并将获取的任务参数检测子文件下发至发送任务处理请求的节点。
作为可选实施例,任务参数检测文件包括:任务调度列表启动脚本子文件(start.sh)以及任务合法性检测子文件(task.sh)。其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。例如,依据用户输入的任务输入路径,根据设置的合法性检测规则,如果在集群中未查找到该用户输入的任务输入路径,则确定该任务未通过合法性检测,再例如,对于任务参数中的具体赋值,依据任务合法性检测子文件中该任务的合法性值范围,如果具体赋值超出合法性值范围,则确定该任务未通过合法性检测。
作为另一可选实施例,任务参数检测文件还可以具有断点记录功能,即记录未通过合法性检测的任务的相关信息,例如,记录未通过合法性检测的任务名以及具体的任务参数。
所应说明的是,本发明实施例中,步骤101至步骤104只需要执行一次。也就是说,在构建Hadoop应用开发框架后,在后续每次进行Hadoop应用开发时,直接加载构建的Hadoop应用开发框架即可,而无需在每次进行Hadoop应用开发时都需要构建Hadoop应用开发框架。
作为可选实施例,该方法还可以进一步包括:
步骤105,在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
本步骤中,在加载本发明实施例构建的Hadoop应用开发框架后,进入配置的调度配置文件对应的可视化编辑界面,在可视化编辑界面展示的任务调度列表中,依据Hadoop应用开发的需要,输入需要调度的多个任务,生成调度任务集,在设置好调度任务集后,依据构建的调度配置文件中调度的任务与所述任务参数的映射关系,在点击或双击调度任务集中的某一调度任务后,触发将当前调度配置文件对应的当前可视化编辑界面切换至任务列表配置文件对应的可视化编辑界面,从而可以在任务列表配置文件对应的可视化编辑界面中进行任务参数设置。这样,通过可视化地展示调度配置文件中的任务调度列表以及任务列表配置文件中的任务参数,用户在可视化编辑界面显示的任务调度列表中依序输入任务,以及,在可视化的任务参数界面中输入任务参数的赋值,从而无需依据记忆或查阅资料逐一填写任务对应的任务参数,有效避免命令行编写以及任务参数填写出错,提升Hadoop应用开发效率。
步骤106,调用所述任务参数检测文件启动所述调度任务集,依序提取所述任务集中每一任务在对应可视化编辑界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
本步骤中,在配置模板文件配置完成后,即通过封装配置模板文件以及任务参数检测文件,从而构建Hadoop应用开发框架,在需要进行Hadoop应用开发时,加载Hadoop应用开发框架,从而形成可视化编辑界面,在可视化编辑界面中设置Hadoop应用开发对应的任务,以及,为每一设置的任务设置好任务参数后,调用任务参数检测文件中的任务调度列表启动脚本子文件以启动整个调度任务集调度,解析通过加载的schedule.conf对应的可视界面中进行编辑生成的调度任务集,获取调度的任务,并依次检测每一调度任务在任务合法性检测子文件中与该调度任务对应的每一项任务参数配置是否合法。
本发明实施例中,作为可选实施例,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测包括:
如果所述任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过,确定所述任务调度集未通过合法性检测,如果所述任务集中所有任务对应的任务参数中的所有项分别通过合法性检测,确定所述任务调度集通过合法性检测。
本步骤中,作为可选实施例,在所述任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过之后,确定所述任务调度集未通过合法性检测之前,该方法可以进一步包括:
记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到用户修改的具体的任务参数值后,再次进行合法性检测。
本步骤中,如果所述任务集中任一任务对应的任务参数的合法性检测没有通过,则先退出整个调度流程并向用户报错,在用户根据报错信息(记录的信息)对具体的任务参数进行修改后,再次进行合法性检测。
作为再一可选实施例,该方法还可以进一步包括:
记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,退出所述调度任务集。
本发明实施例中,在所述调度任务集中所有任务对应的任务参数的合法性检测都通过的情形下,依次执行调度任务集中所有的任务,以对调度任务集进行处理。
本发明实施例中,调用所述任务参数检测文件启动所述调度任务集对应的程序代码段如下:
sh-x start.sh framework.conf[-b<breakpoint_task>]
其中,
-b表示支持断点功能,与breakpoint_task合起来使用,breakpoint_task为记录的信息中的任务名。
本发明实施例中,如果breakpoint_task为空或breakpoint_task不为空但不存在,则整个调度从schedule.conf中设置的调度任务集的第一个任务开始执行调度的合法性检测;
如果breakpoint_task不为空且breakpoint_task存在,整个调度从breakpoint_task对应的任务名开始执行调度的合法性检测。
图2为本发明实施例构建的Hadoop应用开发框架示意图。图2中,Hadoop应用开发框架包括:Hadoop应用层任务调度框架以及用户工程,其中,Hadoop应用层任务调度框架包括两个脚本文件,分别为start.sh以及task.sh,用户工程包括一个文件,即framework.conf,该framework.conf又包括两个文件,分别为schedule.conf和tasklist.conf,其中,
脚本文件start.sh以用户工程的配置模板文件framework.conf为执行参数,启动用户任务调度;此外,start.sh还支持断点功能,继续以“-b<断点任务>”为参数即可。
脚本文件task.sh用于定义与任务相关的接口函数,用于对用户工程中任务参数进行合法性检测,执行以下功能:检查任务参数是否合法、调度本地任务、调度单个MapReduce任务、调度多个MapReduce任务、判断任务是否结束、判断任务是否成功/失败、记录断点等。
由上述可见,本发明实施例中,通过快速构建Hadoop应用开发框架,技术开发人员只需要在可视化编辑界面中预先设置的配置模板文件framework.conf的schedule.conf以及tasklist.conf中,指定每一Hadoop应用开发对应的一个或多个任务相关的任务参数,并指定任务之间的调度顺序即可,即只需要关注任务本身,而无需关注和记忆任务需要配置的任务参数以及具体的任务参数配置值,也无需记忆复杂的Hadoop命令行接口,从而为Hadoop应用开发提供统一的可视化编辑的Hadoop应用开发框架,可以提升技术开发人员进行Hadoop应用开发的效率,提高构建的Hadoop应用开发框架的利用效率,从而大大降低技术开发人员(用户)的程序代码段编辑量,避免程序代码段中编辑出现的错误以及记忆的任务参数的错误,有效提升构建的Hadoop应用开发框架应用的可靠性。
图3为本发明实施例构建Hadoop应用开发框架的装置结构示意图。参见图3,该装置包括:配置模板文件设置模块301、任务调度配置模块303、任务参数配置模块302以及框架构建模块304,其中,
配置模板文件设置模块301,用于分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
本发明实施例中,将命令行中的任务调度与任务参数隔离开来,以调度配置文件封装需要调度的任务,将共有任务参数以及可选任务参数封装在任务列表配置文件中。
任务调度配置模块303,用于在调度配置文件中设置进行可视化编辑的任务调度顺序;
本发明实施例中,任务调度包括:本地任务调度、串行MapReduce任务调度、并行MapReduce任务调度。
作为一可选实施例,任务调度顺序以任务调度列表方式进行描述。其中,任务调度列表中的每一行对应一调度任务,任务的调度顺序按照任务调度列表中任务所在命令行的先后来确定。其中,任务调度列表中,包括任务调度顺序字段以及任务名字段,在任务调度顺序字段以及任务名字段分别对应的表格栏位,为可视化编辑栏位。
任务参数配置模块302,用于在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
本发明实施例中,任务参数包括:任务名、任务输入路径、任务输出路径、Map接口、Reduce接口、需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到Reduce的方法等,其中,任务名、任务输入路径、任务输出路径、Map接口、Reduce接口为任务参数的必选项,即共有任务参数,需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到Reduce的方法为可选项,由技术开发人员根据对应的任务具体选择。
框架构建模块304,用于设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
本发明实施例中,任务参数检测文件包括:任务调度列表启动脚本子文件(start.sh)以及任务合法性检测子文件(task.sh)。其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。
作为可选实施例,该装置还可以进一步包括:应用开发模块305以及合法性检测模块306,其中,
应用开发模块305,用于在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
本发明实施例中,在加载本发明实施例构建的Hadoop应用开发框架后,进入配置的调度配置文件对应的可视化编辑界面,在可视化编辑界面展示的任务调度列表中,依据Hadoop应用开发的需要,输入需要调度的多个任务,生成调度任务集,在设置好调度任务集后,依据构建的调度配置文件中调度的任务与所述任务参数的映射关系,在点击或双击调度任务集中的某一调度任务后,触发将当前调度配置文件对应的当前可视化编辑界面切换至任务列表配置文件对应的可视化编辑界面,从而可以在任务列表配置文件对应的可视化编辑界面中进行任务参数设置。
合法性检测模块306,用于调用所述任务参数检测文件启动所述调度任务集,依序提取所述任务集中每一任务在对应可视化编辑界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
本发明实施例中,在需要进行Hadoop应用开发时,加载Hadoop应用开发框架,从而形成可视化编辑界面,在可视化编辑界面中设置Hadoop应用开发对应的任务,以及,为每一设置的任务设置好任务参数后,调用任务参数检测文件中的任务调度列表启动脚本子文件以启动整个调度任务集调度,获取调度的任务,并依次检测每一调度任务在任务合法性检测子文件中与该调度任务对应的每一项任务参数配置是否合法。
作为可选实施例,当调度任务为串行MapReduce任务时,合法性检测模块306包括:启动单元401、提取单元402、合法性检测处理单元403以及上传单元404,参见图4,图4为本发明实施例的合法性检测模块第一结构示意图,其中,
启动单元401,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
提取单元402,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述任务集中任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,通知上传单元;
合法性检测处理单元403,用于接收来自提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述任务调度集的合法性检测,如果任务参数中的所有项参数都能匹配,通知提取单元提取下一任务;
上传单元404,用于接收通知,将通过合法性检测的调度任务集上传以进行任务处理。
作为可选实施例,合法性检测模块306还可以进一步包括:记录处理单元405以及合法性检测次数统计单元406,其中,
合法性检测次数统计单元406,用于在监测到合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知合法性检测处理单元以结束所述任务调度集的合法性检测;否则,通知记录处理单元;
记录处理单元405,用于记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至合法性检测处理单元。
作为另一可选实施例,当调度任务为并行MapReduce任务时,合法性检测模块包括:启动单元501、第二提取单元502、第二合法性检测处理单元503以及第二上传单元504,参见图5,图5为本发明实施例的合法性检测模块第二结构示意图,其中,
启动单元501,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
第二提取单元502,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述任务集中调度任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,结束流程;
第二合法性检测处理单元503,用于接收来自第二提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述任务的合法性检测,如果任务参数中的所有项参数都能匹配,通知第二提取单元提取下一任务,以及,通知第二上传单元;
第二上传单元504,用于接收第二合法性检测处理单元输出的通知,将通过合法性检测的调度任务上传以进行任务处理。
作为可选实施例,合法性检测模块还可以进一步包括:第二记录处理单元505以及第二合法性检测次数统计单元506,其中,
第二合法性检测次数统计单元506,用于在监测到第二合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知第二合法性检测处理单元以结束所述调度任务的合法性检测;否则,通知第二记录处理单元;
第二记录处理单元505,用于记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到第二合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至第二合法性检测处理单元。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图6为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-5所示实施例的流程,如图6所示,上述电子设备可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:
分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
在调度配置文件中设置进行可视化编辑的任务调度顺序;
在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。
处理器62对上述步骤的具体执行过程以及处理器62通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-5所示实施例的描述,在此不再赘述。
本发明实施例提供的电子设备,分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;在调度配置文件中设置进行可视化编辑的任务调度顺序;在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架。这样,通过为Hadoop应用开发构建统一的可视化的Hadoop应用开发框架,使得在进行Hadoop应用开发时,只需要在Hadoop应用开发框架提供的可视化编辑界面中指定每一Hadoop应用开发对应的一个或多个任务相关的任务参数,并指定任务之间的调度顺序,无需关注和记忆任务需要配置的任务参数以及具体的任务参数配置值,也无需记忆复杂的Hadoop命令行接口,可以提升Hadoop应用开发的效率,提高构建的Hadoop应用开发框架的利用效率。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种构建Hadoop应用开发框架的方法,其特征在于,该方法包括:
分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
在调度配置文件中设置进行可视化编辑的任务调度顺序;
在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架;
所述任务参数检测文件包括:任务调度列表启动脚本子文件以及任务合法性检测子文件,其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以使任务合法性检测子文件遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
调用所述任务参数检测文件启动所述调度任务集,依序提取所述调度任务集中每一任务在对应可视界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
3.根据权利要求2所述的方法,其特征在于,所述依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测包括:
如果所述调度任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过,确定所述调度任务集未通过合法性检测,如果所述调度任务集中所有任务对应的任务参数中的所有项分别通过合法性检测,确定所述调度任务集通过合法性检测。
4.根据权利要求3所述的方法,其特征在于,在所述任务集中任一任务对应的任务参数中的任一项参数的合法性检测未通过之后,确定所述调度任务集未通过合法性检测之前,所述方法进一步包括:
记录未通过合法性检测的任务的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到用户修改的具体的任务参数值后,再次进行合法性检测。
5.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,退出所述调度任务集。
6.根据权利要求1所述的方法,其特征在于,所述任务调度包括:本地任务调度、串行MapReduce任务调度或并行MapReduce任务调度。
7.根据权利要求1所述的方法,其特征在于,所述任务调度顺序以任务调度列表方式进行描述。
8.根据权利要求1所述的方法,其特征在于,所述任务参数包括:任务名、任务输入路径、任务输出路径、Map任务命令行、Reduce任务命令行、需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法,其中,任务名、任务输入路径、任务输出路径、Map任务命令行及Reduce任务命令行为任务参数的必选项,需要上传的本地文件、任务参数配置文件、任务输入格式、任务输出格式以及分环到reduce的方法为任务参数的可选项。
9.一种构建Hadoop应用开发框架的装置,其特征在于,该装置包括:配置模板文件设置模块、任务调度配置模块、任务参数配置模块以及框架构建模块,其中,
配置模板文件设置模块,用于分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
任务调度配置模块,用于在调度配置文件中设置进行可视化编辑的任务调度顺序;
任务参数配置模块,用于在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
框架构建模块,用于设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架;
所述任务参数检测文件包括:任务调度列表启动脚本子文件以及任务合法性检测子文件,其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以使任务合法性检测子文件遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。
10.根据权利要求9所述的装置,其特征在于,进一步包括:应用开发模块以及合法性检测模块,其中,
应用开发模块,用于在进行Hadoop应用开发时,加载构建的Hadoop应用开发框架,在所述调度配置文件对应的可视化编辑界面中设置调度任务集,并基于构建的所述映射关系,在调度任务映射的所述任务列表配置文件对应的可视化编辑界面中设置所述调度任务的任务参数;
合法性检测模块,用于调用所述任务参数检测文件启动所述调度任务集,依序提取所述调度任务集中每一任务在对应可视化编辑界面中设置的任务参数,依据所述任务参数检测文件中该每一任务对应的任务参数进行合法性检测,并将通过合法性检测的调度任务集上传以进行任务处理。
11.根据权利要求10所述的装置,其特征在于,所述调度任务为串行MapReduce任务,所述合法性检测模块包括:启动单元、提取单元、合法性检测处理单元以及上传单元,其中,
启动单元,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
提取单元,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述调度任务集中任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,通知上传单元;
合法性检测处理单元,用于接收来自提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述调度任务集的合法性检测,如果任务参数中的所有项参数都能匹配,通知提取单元提取下一任务;
上传单元,用于接收通知,将通过合法性检测的调度任务集上传以进行任务处理。
12.根据权利要求11所述的装置,其特征在于,所述合法性检测模块进一步包括:记录处理单元以及合法性检测次数统计单元,其中,
合法性检测次数统计单元,用于在监测到合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知合法性检测处理单元以结束所述调度任务集的合法性检测;否则,通知记录处理单元;
记录处理单元,用于记录未通过合法性检测的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至合法性检测处理单元。
13.根据权利要求10所述的装置,其特征在于,所述调度任务为并行MapReduce任务,所述合法性检测模块包括:启动单元、第二提取单元、第二合法性检测处理单元以及第二上传单元,其中,
启动单元,用于调用任务调度列表启动脚本子文件启动所述调度任务集;
第二提取单元,用于判断启动的所述调度任务集中任务是否已提取完毕,如果未提取完毕,依序提取所述调度任务集中调度任务在对应可视化编辑界面中设置的任务参数,输出至合法性检测处理单元,如果已提取完毕,结束流程;
第二合法性检测处理单元,用于接收来自第二提取单元的任务参数,与任务合法性检测子文件中存储的该任务对应的任务参数进行匹配,如果其中任一项参数不匹配,结束所述任务的合法性检测,如果任务参数中的所有项参数都能匹配,通知第二提取单元提取下一任务,以及,通知第二上传单元;
第二上传单元,用于接收第二合法性检测处理单元输出的通知,将通过合法性检测的调度任务上传以进行任务处理。
14.根据权利要求13所述的装置,其特征在于,所述合法性检测模块进一步包括:第二记录处理单元以及第二合法性检测次数统计单元,其中,
第二合法性检测次数统计单元,用于在监测到第二合法性检测处理单元的任一项参数不匹配后,记录每一任务进行合法性检测的次数,如果记录的检测次数超过预先设置的次数阈值,通知第二合法性检测处理单元以结束所述调度任务的合法性检测;否则,通知第二记录处理单元;
第二记录处理单元,用于记录未通过合法性检测的任务名以及具体的任务参数,将记录的信息向用户展示并提示用户修改记录的具体的任务参数,在接收到第二合法性检测次数统计单元输出的通知后,将用户修改的具体的任务参数值输出至第二合法性检测处理单元。
15.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:
分离命令行,得到用于设置配置模板文件的任务调度与任务参数,所述配置模板文件包含用于封装分离的调度任务的调度配置文件以及用于封装分离的任务参数的任务列表配置文件;
在调度配置文件中设置进行可视化编辑的任务调度顺序;
在任务列表配置文件中设置任务的可视化编辑任务参数,并构建调度配置文件中调度的任务与所述任务参数的映射关系;
设置用于对调度配置文件中的任务进行启动以及对任务列表配置文件进行合法性检测的任务参数检测文件,依据所述配置模板文件以及任务参数检测文件构建Hadoop应用开发框架;
所述任务参数检测文件包括:任务调度列表启动脚本子文件以及任务合法性检测子文件,其中,任务调度列表启动脚本子文件用于在用户在可视界面中设置好调度配置文件以及任务列表配置文件后,启动任务列表调度,调用任务合法性检测子文件,以使任务合法性检测子文件遍历任务调度列表中的任务,并依据遍历的任务,从用户设置的任务列表配置文件中获取该遍历的任务对应的任务参数,与任务合法性检测子文件中存储的该遍历的任务对应的任务参数进行匹配以执行合法性检测。
CN201510523220.7A 2015-08-24 2015-08-24 一种构建Hadoop应用开发框架的方法、装置及电子装置 Active CN105045602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510523220.7A CN105045602B (zh) 2015-08-24 2015-08-24 一种构建Hadoop应用开发框架的方法、装置及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510523220.7A CN105045602B (zh) 2015-08-24 2015-08-24 一种构建Hadoop应用开发框架的方法、装置及电子装置

Publications (2)

Publication Number Publication Date
CN105045602A CN105045602A (zh) 2015-11-11
CN105045602B true CN105045602B (zh) 2019-07-23

Family

ID=54452167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510523220.7A Active CN105045602B (zh) 2015-08-24 2015-08-24 一种构建Hadoop应用开发框架的方法、装置及电子装置

Country Status (1)

Country Link
CN (1) CN105045602B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569785B (zh) * 2015-10-09 2021-03-09 阿里巴巴集团控股有限公司 一种作业表单生成方法及设备
CN105912390A (zh) * 2016-04-07 2016-08-31 四川大学 云计算环境下基于模板的任务调度策略
CN107886286A (zh) * 2016-09-29 2018-04-06 中国石油化工股份有限公司 地震数据处理作业流方法及系统
CN106407472B (zh) * 2016-11-01 2019-08-20 广西电网有限责任公司电力科学研究院 一种订单模式的大数据计算分析任务可视化编辑与管理系统
CN107766132B (zh) * 2017-06-25 2019-03-15 平安科技(深圳)有限公司 多任务调度方法、应用服务器及计算机可读存储介质
CN107748695B (zh) * 2017-10-24 2020-11-24 平安科技(深圳)有限公司 定时任务处理方法、装置、存储介质和计算机设备
CN108829502B (zh) * 2018-06-21 2021-11-23 北京奇虎科技有限公司 线程操作的实现方法和装置
CN109683953B (zh) * 2018-12-26 2022-03-29 思必驰科技股份有限公司 一种基于可视化界面进行配置文件处理的方法及装置
CN109919749A (zh) * 2019-03-29 2019-06-21 北京思特奇信息技术股份有限公司 一种对账方法、系统、存储介质及计算机设备
CN111158877A (zh) * 2019-12-28 2020-05-15 山东爱德邦智能科技有限公司 大数据平台的事件管理方法、装置及计算机可读存储介质
CN111861235A (zh) * 2020-07-27 2020-10-30 浪潮云信息技术股份公司 任务流程编排方法及装置、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750486A (zh) * 2005-08-16 2006-03-22 西安电子科技大学 网络测量体系结构及其实现方法
CN104050029A (zh) * 2014-05-30 2014-09-17 北京先进数通信息技术股份公司 一种任务调度系统
CN104239148A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 一种分布式任务调度方法及装置
CN104298671A (zh) * 2013-07-16 2015-01-21 深圳中兴网信科技有限公司 数据统计分析方法及装置
CN104484204A (zh) * 2014-12-12 2015-04-01 北京国双科技有限公司 任务运行方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214103A (zh) * 2011-07-08 2011-10-12 珠海脉络软件有限公司 以功能单元为基础的任务程序的创建和执行方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750486A (zh) * 2005-08-16 2006-03-22 西安电子科技大学 网络测量体系结构及其实现方法
CN104239148A (zh) * 2013-06-06 2014-12-24 腾讯科技(深圳)有限公司 一种分布式任务调度方法及装置
CN104298671A (zh) * 2013-07-16 2015-01-21 深圳中兴网信科技有限公司 数据统计分析方法及装置
CN104050029A (zh) * 2014-05-30 2014-09-17 北京先进数通信息技术股份公司 一种任务调度系统
CN104484204A (zh) * 2014-12-12 2015-04-01 北京国双科技有限公司 任务运行方法和装置

Also Published As

Publication number Publication date
CN105045602A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
CN105045602B (zh) 一种构建Hadoop应用开发框架的方法、装置及电子装置
CN106528424B (zh) 基于后台系统服务或接口的测试方法和测试平台
CN108255653A (zh) 一种产品的测试方法及其终端
TW202016693A (zh) 人機交互處理系統及其方法、儲存媒體、電子設備
CN106022007B (zh) 面向生物组学大数据计算的云平台系统及方法
CN109240924A (zh) 一种应用程序的测试方法及设备
US11238386B2 (en) Task derivation for workflows
US20150128103A1 (en) System and method for automating application programming interface integration
CN104391690B (zh) 一种应用开发系统及方法
CN104580451B (zh) 实现多平台间账号同步的方法和系统、及电子设备
CN110457256A (zh) 数据存储方法、装置、计算机设备及存储介质
CN106648666B (zh) 一种用户界面生成方法及系统
US9921822B2 (en) End user programming for a mobile device
CN103501308A (zh) 分布式云应用部署系统和/或相关的方法
CN108510081A (zh) 机器学习方法和平台
CN108134690B (zh) 网络业务部署流程控制方法、装置及系统
CN106533713A (zh) 一种应用部署方法及设备
CN106886434A (zh) 一种分布式应用安装方法与装置
US10180900B2 (en) Recordation of user interface events for script generation
CN107733710A (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
CN110175081A (zh) 一种针对Android音频播放的优化系统及其方法
CN103595769B (zh) Sdk实现文件上传的方法与装置
CN105760300B (zh) 一种stk/utk业务的自动化测试方法及测试系统
CN109828840A (zh) 资源编排方法、装置、存储介质及电子设备
Perez et al. A monitoring framework for multi-site 5G platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant