CN108021431B - 基于Web数据交互管理Hive的方法及其系统 - Google Patents

基于Web数据交互管理Hive的方法及其系统 Download PDF

Info

Publication number
CN108021431B
CN108021431B CN201610974224.1A CN201610974224A CN108021431B CN 108021431 B CN108021431 B CN 108021431B CN 201610974224 A CN201610974224 A CN 201610974224A CN 108021431 B CN108021431 B CN 108021431B
Authority
CN
China
Prior art keywords
task
tasks
task group
group
execution mode
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
CN201610974224.1A
Other languages
English (en)
Other versions
CN108021431A (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.)
Guangdong Eshore Technology Co Ltd
Original Assignee
Guangdong Eshore Technology 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 Guangdong Eshore Technology Co Ltd filed Critical Guangdong Eshore Technology Co Ltd
Priority to CN201610974224.1A priority Critical patent/CN108021431B/zh
Publication of CN108021431A publication Critical patent/CN108021431A/zh
Application granted granted Critical
Publication of CN108021431B publication Critical patent/CN108021431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及基于Web数据交互管理Hive的方法及其系统,该方法包括登录Web管理页面,创建任务,对任务进行分组,创建任务组;到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器;任务组执行器执行任务组内的子节点任务;实时记录任务、任务组的详细日志信息。本发明通过利用Web管理页面建立任务并分组,利用任务组类型选择器读取信息,调用任务组执行器执行子节点任务,实时记录任务、任务组的详细日志信息,方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,提高Hive任务创建和执行的效率,节省维护人员的维护时间,登录Web页面即可使用,不需具备编写Shell或Python脚本能力,降低人力成本。

Description

基于Web数据交互管理Hive的方法及其系统
技术领域
本发明涉及任务管理的技术领域,更具体地说是指基于Web数据交互管理Hive的方法及其系统。
背景技术
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(largedata set)的应用程序。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive脚本常见的管理方式是可以使用Shell脚本,如可以编写以下脚本(test.sh):
hive-f test1.sql;
hive-f test2.sql;
然后执行sh test.sh,即可以执行test1和test2这两个Hive任务。即使用Hive任务的管理大多是编写好脚本文件,然后使用Python或者Shell等脚本进行执行和管理,对于少量的任务执行比较方便,但是不便于管理过多的Hive任务,需要编写大量重复的脚本,也很难实现复杂的任务流程化处理,并且对任务的执行状态、是否发生错误等信息无法实时监控,日志信息也无法清晰地查看,这样维护人员不仅需要消耗大量的维护时间,还需要具备Python或者Shell等相关知识的处理能力,增大了维护人员的技术门槛,极大地降低了工作效率。
因此,有必要设计一种基于Web数据交互管理Hive的方法,实现方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,极大地提高了Hive任务创建和执行的效率,节省了维护人员的维护时间,提高工作效率。
发明内容
本发明的目的在于克服现有技术的缺陷,提供基于Web数据交互管理Hive的方法及其系统。
为实现上述目的,本发明采用以下技术方案:基于Web数据交互管理Hive的方法,包括以下步骤:
登录Web管理页面,创建任务,对任务进行分组,创建任务组;
到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器;
任务组执行器执行任务组内的子节点任务;
实时记录任务、任务组的详细日志信息。
其进一步技术方案为:所述登录Web管理页面,创建任务,对任务进行分组,创建任务组的步骤,包括以下具体步骤:
登录Web管理页面,填写任务名称、任务介绍以及上传任务要执行的脚本;
对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式;
若选择本组任务顺序执行,定义任务组内各子节点任务的顺序。
其进一步技术方案为:所述到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器的步骤,包括以下具体步骤:
到达指定时间激活任务,任务组类型选择器读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表;
任务组类型选择器执行所需要的脚本文件通过FTP上传到指定的Hive服务器;
任务组类型选择器根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务。
其进一步技术方案为:所述任务组执行器执行任务组内的子节点任务的步骤中,还包括调用Ant远程登录主机,并执行Hive任务组内的任务。
其进一步技术方案为:所述任务组执行器执行任务组内的子节点任务的步骤,包括以下具体步骤:
判断任务组选择的执行模式是否是顺序执行模式;
若任务组选择的执行模式是顺序执行模式,按照设置的顺序执行任务组内的各个子节点任务;
若任务组选择的执行模式不是顺序执行模式,随机执行任务组内的各个子节点任务。
其进一步技术方案为:所述若任务组选择的执行模式是顺序执行模式,按照设置的顺序执行任务组内的各个子节点任务的步骤,还包括判断顺序执行是否成功,若顺序执行成功,继续执行下一个子节点任务,直至全部子节点任务执行完成;若顺序执行失败,终止此任务组的子节点任务执行,并标志为该任务组此次执行失败。
其进一步技术方案为:所述若任务组选择的执行模式不是顺序执行模式,随机执行任务组内的各个子节点任务的步骤,具体的,不管任务组内某一子节点任务是执行成功或是失败,仍然继续执行下一个子节点任务,直到全部子节点任务执行完毕。
其进一步技术方案为:所述实时记录任务、任务组的详细日志信息的步骤之后,还包括每隔一定时间监控并分析新产生的错误日志,判断是否有错误,若发现有错误,则立即发送邮件通知管理者,并将此错误日志转移至历史的错误日志数据中。
本发明还提供了基于Web数据交互管理Hive的系统,包括Web管理单元、任务组类型选择器、任务组执行器以及记录单元;
所述Web管理单元,用于登录后创建任务,对任务进行分组,创建任务组,与所述任务组类型选择器连接;
所述任务组类型选择器,用于到达指定时间激活任务,由读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器,与所述任务组执行器连接;
所述任务组执行器,用于执行任务组内的子节点任务,与所述记录单元连接;
所述记录单元,用于实时记录任务、任务组的详细日志信息。
其进一步技术方案为:所述任务组类型选择器包括读取模块、上传模块以及调用模块;
所述读取模块,用于读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表,与所述上传模块连接;
所述上传模块,用于执行所需要的脚本文件通过FTP上传到指定的Hive服务器,与所述调用模块;
所述调用模块,用于根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务;
所述任务组执行器包括判断模块、顺序执行模块以及随机执行模块;
所述判断模块,用于判断任务组选择的执行模式是否是顺序执行模式,与所述调用模块连接;
所述顺序执行模块,若任务组选择的执行模式是顺序执行模式,用于按照设置的顺序执行任务组内的各个子节点任务,分别与所述判断模块与所述记录单元连接;
所述随机执行模块,若任务组选择的执行模式不是顺序执行模式,用于随机序执行任务组内的各个子节点任务,与所述判断模块以及所述记录单元连接。
本发明与现有技术相比的有益效果是:本发明的基于Web数据交互管理Hive的方法,通过利用Web管理页面建立任务并分组,利用任务组类型选择器读取信息,并调用任务组执行器执行子节点任务,实时记录任务、任务组的详细日志信息,方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,极大地提高了Hive任务创建和执行的效率,节省了维护人员的维护时间,使用者登录Web页面即可使用,不需额外具备编写Shell或Python脚本的能力,降低了人力成本。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明具体实施例提供的基于Web数据交互管理Hive的方法的流程框图;
图2为本发明具体实施例提供的任务组树状结构图;
图3为本发明具体实施例提供的Hive任务分组管理的结构图;
图4为本发明具体实施例提供的创建任务以及任务组的具体流程框图;
图5为本发明具体实施例提供的任务组类型选择器读取信息并调用任务组执行器的具体流程框图;
图6为本发明具体实施例提供的任务组执行器执行任务组内的子节点任务的具体流程框图;
图7为本发明具体实施例提供的顺序执行任务的具体流程框图;
图8为本发明具体实施例提供的基于Web数据交互管理Hive的系统的结构框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
如图1~8所示的具体实施例,本实施例提供的基于Web数据交互管理Hive的方法,可以运用在Hive任务的管理过程中,实现方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,极大地提高了Hive任务创建和执行的效率,节省了维护人员的维护时间,提高工作效率。
如图1所示,基于Web数据交互管理Hive的方法,包括以下步骤:
S1、登录Web管理页面,创建任务,对任务进行分组,创建任务组;
S2、到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器;
S3、任务组执行器执行任务组内的子节点任务;
S4、实时记录任务、任务组的详细日志信息;
S5、每隔一定时间监控并分析新产生的错误日志;并进行S51、判断是否有错误,若发现有错误,则进行S52、立即发送邮件通知管理者,并将此错误日志转移至历史的错误日志数据中。
如图4所示,在上述的S1步骤中,所述登录Web管理页面,创建任务,对任务进行分组,创建任务的步骤,还包括以下具体步骤:
S11、登录Web管理页面,填写任务名称、任务介绍以及上传任务要执行的脚本;
S12、对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式;
S13、若选择本组任务顺序执行,定义任务组内各子节点任务的顺序。
其中,上述的S1步骤中,这里的登录Web管理页面,Web管理页面会提供系统登录账号和菜单权限的管理以及Hive服务器的配置信息,包括Ftp登录信息和Ssh登录信息。
登录Web管理页面,创建任务后,任务的信息将会被持久化至数据库中,任务管理模块提供任务的信息调用的接口供其它模块调用,当调用任务信息接口时,任务管理模块会首先在内存中查找是否存在任务,若不存在则从数据库中查找,并最终返回结果。任务管理模块启动时,会自动加载经常执行的任务到内存中。
对于S12步骤中,所述对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式的步骤,这里对任务进行分组,应该按照以下三点的原则来分组:
1、相同的业务需求的任务内容可以放入一个分组;
2、任务组内的任务列表需要具有相同的执行模式(随机或顺序);
3、任务组内的任务列表具有相同的执行周期(按天,周,月等)。
更具体的,上述的S12步骤中,在分组时,任务组内的任务列表,以树状结构进行组织,以树的层级作为执行的优先级判断条件,相同层级的任务将采用随机执行,不同层级的任务采用顺序执行,顺序执行时需要父节点任务执行完成才能执行子节点的任务,并且当父节点出错的时候将不会执行子节点的任务;为了充分发挥Hadoop集群的并行执行能力,Web管理页面中,增加设置随机执行的并行数,表示可同时执行的任务数,由于存在多个任务组并发执行的情况,并行数需要设置一个上限,防止系统的负载过高。
在构建任务组的时候,Web管理页面会默认一个虚拟的根结点,第一层级的任务默认指向这个虚拟的节点,虚拟的节点不是具体的任务,在执行的时候将会忽略掉。
如图2所示,其中,任务组一是虚拟的根结点,任务一、任务二、任务三、任务四为同层级的任务,Web管理页面将会按指定的并行数随机执行,任务五和任务六分别为任务二和任务三的子节点,任务五需要任务二执行完毕之后才能执行,任务六同理,这样通过树状结构进行管理,可以同时管控两种执行模式。
如图3所示,为Hive任务分组管理的结构示意图;对已创建好的Hive任务进行分组管理,即创建、修改、删除任务组。任务组由任务组ID、任务名称、任务列表、并行执行数等属性组成,任务列表是由前置任务和后置任务组成的一个树结构。
上述的S1步骤,主要实现创建定时任务,并根据设置的策略定时执行任务组内的任务,以列表方式展示未执行、已执行和正在执行的任务。定时任务由定时任务ID、定时任务名称、执行开始时间,执行周期、执行内容等属性组成。创建定时任务时,需要指定执行开始时间,当执行周期不为空时,定时任务将会周期执行,当执行周期为空时,定时任务将会只执行一次,执行内容必须且只能选择一个任务组。定时任务创建之后,其详细信息会被持久化至数据库中。当任务执行模块启动时,会自动加载所有的定时任务至内存中。
如图5所示,上述的S2步骤,到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器的步骤,还包括
S21、到达指定时间激活任务,任务组类型选择器读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表;
S22、任务组类型选择器执行所需要的脚本文件通过FTP上传到指定的Hive服务器;
S23、任务组类型选择器根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务。
上述的S2步骤,当定时任务自动激活,开始执行时,会首先调用任务组类型选择器,任务组类型选择器会根据任务组的执行模式属性选择任务组执行器,然后任务组执行器开始执行任务组的任务。
更进一步的,如图6所示,上述的S3步骤中,任务组执行器执行任务组内的子节点任务的步骤,任务组类型选择器会将任务列表树的第一层任务节点作为一个列表传递给任务组执行器并开始执行,当里面的任务正确执行完毕时,任务组类型选择器会判断该任务是否具有子节点任务,如果有子节点任务,则取出子节点任务列表,传递给任务组执行器执行,如果任务执行失败,将不会执行子任务,在经过这样的递归执行之后,所有任务将会按照指定的策略完成。
任务组执行器执行任务时会调用Ant实现远程登录主机,并调用命令执行Hive任务组内的任务,执行命令参考:hive-f test.sql。
另外,上述的S3步骤包括以下具体步骤:
S31、判断任务组选择的执行模式是否是顺序执行模式;
S32、若任务组选择的执行模式是顺序执行模式,按照设置的顺序执行任务组内的各个子节点任务;
S33、若任务组选择的执行模式不是顺序执行模式,随机执行任务组内的各个子节点任务。
对于上述的S32步骤,在按照设定的顺序执行子节点任务时,还包括
S321、判断顺序执行是否成功;
S322、若顺序执行成功,继续执行下一个子节点任务,直至全部子节点任务执行完成;
S323、若顺序执行失败,终止此任务组的子节点任务执行,并标志为该任务组此次执行失败。
另外,对于上述的S33步骤,在按照随机执行子节点任务时,不管任务组内某一子节点任务是执行成功或是失败,仍然继续执行下一个子节点任务,直到全部子节点任务执行完毕。
更进一步的,S4的步骤,实时记录任务、任务组的详细日志信息,主要是为了记录系统所有日志和分析任务错误日志,并提供查询日志功能。并且,这里的详细日志信主要包括记录用户的操作记录,如登录系统、创建任务、创建分组等操作日志,对Hive任务的执行进行全程的日志记录。
在上述的S5步骤中,具体的,可以每隔N分钟(周期可以设置)对日志抽取关键的信息,分析任务错误日志,如果发现错误日志,在日志管理和分析模块标红显示,并通过邮件方式及时通知指定的管理员。对错误日志提供了主动分析并发邮件的功能,可以及时地对异常的任务进行排查处理,简化了Hive任务的日常维护工作,提供了快速定位解决问题的能力,增强了系统的稳定性。
上述的基于Web数据交互管理Hive的方法,通过利用Web管理页面建立任务并分组,利用任务组类型选择器读取信息,并调用任务组执行器执行子节点任务,实时记录任务、任务组的详细日志信息,方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,极大地提高了Hive任务创建和执行的效率,节省了维护人员的维护时间,使用者登录Web页面即可使用,不需额外具备编写Shell或Python等脚本的能力,降低了人力成本。
本实施例还提出了基于Web数据交互管理Hive的系统,包括Web管理单元、任务组类型选择器、任务组执行器以及记录单元40。
Web管理单元,用于登录后创建任务,对任务进行分组,创建任务组,与所述任务组类型选择器连接;
任务组类型选择器,用于到达指定时间激活任务,由读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器,与所述任务组执行器连接;
任务组执行器,用于执行任务组内的子节点任务,与所述记录单元40连接;
记录单元40,用于实时记录任务、任务组的详细日志信息。
基于Web数据交互管理Hive的系统,通过利用Web管理单元建立任务并分组,利用任务组类型选择器读取信息,并调用任务组执行器执行子节点任务,记录单元40实时记录任务、任务组的详细日志信息,方便、有效地管理大量的Hive任务,不需要编写重复的任务管理程序,极大地提高了Hive任务创建和执行的效率,节省了维护人员的维护时间,使用者登录Web页面即可使用,不需额外具备编写Shell或Python等脚本的能力,降低了人力成本。
更进一步的,任务组类型选择器包括读取模块20、上传模块21以及调用模块22;
读取模块20,用于读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表,与上传模块21连接;
上传模块21,用于执行所需要的脚本文件通过FTP上传到指定的Hive服务器,与调用模块22;
调用模块22,用于根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务;
任务组执行器包括判断模块30、顺序执行模块31以及随机执行模块32;
判断模块30,用于判断任务组选择的执行模式是否是顺序执行模式,与调用模块22连接;
顺序执行模块31,若任务组选择的执行模式是顺序执行模式,用于按照设置的顺序执行任务组内的各个子节点任务,分别与判断模块30与记录单元40连接;
随机执行模块32,若任务组选择的执行模式不是顺序执行模式,用于随机序执行任务组内的各个子节点任务,与判断模块30以及记录单元40连接。
由读取模块20读取任务组的信息,生成任务列表,并上传模块21执行所需要的脚本文件通过FTP上传到指定的Hive服务器,并由调用模块22调用任务执行器的判断模块30判断任务组选择的执行模式是否是顺序执行模式,若任务组选择的执行模式是顺序执行模式,顺序执行模块31按照设置的顺序执行任务组内的各个子节点任务;若任务组选择的执行模式不是顺序执行模式,随机执行模块32随机序执行任务组内的各个子节点任务。
更进一步的,所述Web管理单元,包括任务创建模块10、任务分组模块11以及定义模块12;任务创建模块10,用于填写任务名称、任务介绍以及上传任务要执行的脚本,与所述任务分组模块11连接;所述任务分组模块11,用于对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式,与所述定义模块12连接;定义模块12,若选择本组任务顺序执行,用于定义任务组内各子节点任务的顺序,与所述读取模块20连接。
另外,基于Web数据交互管理Hive的系统还包括报错单元50,所述报错单元50,用于每隔一定时间监控并分析新产生的错误日志,若发现有错误,则立即发送邮件通知管理者,并将此错误日志转移至历史的错误日志数据中,与所述记录单元40连接。
报错单元50及时地对异常的任务进行排查处理,简化了Hive任务的日常维护工作,提供了快速定位解决问题的能力,增强了系统的稳定性。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (8)

1.基于Web数据交互管理Hive的方法,其特征在于,包括以下步骤:
登录Web管理页面,创建任务,对任务进行分组,创建任务组;
到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器;
任务组执行器执行任务组内的子节点任务;
实时记录任务、任务组的详细日志信息;
所述登录Web管理页面,创建任务,对任务进行分组,创建任务组的步骤,包括以下具体步骤:
登录Web管理页面,填写任务名称、任务介绍以及上传任务要执行的脚本;
对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式;
若选择本组任务顺序执行,定义任务组内各子节点任务的顺序;
所述对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式的步骤,对任务进行分组,应该按照以下三点的原则来分组:相同的业务需求的任务内容可以放入一个分组;任务组内的任务列表需要具有相同的执行模式;任务组内的任务列表具有相同的执行周期;
在分组时,任务组内的任务列表,以树状结构进行组织,以树的层级作为执行的优先级判断条件,相同层级的任务将采用随机执行,不同层级的任务采用顺序执行,顺序执行时需要父节点任务执行完成才能执行子节点的任务,并且当父节点出错的时候将不会执行子节点的任务;
Web管理页面中,增加设置随机执行的并行数,并行数设置一个上限。
2.根据权利要求1所述的基于Web数据交互管理Hive的方法,其特征在于,所述到达指定时间激活任务,由任务组类型选择器读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器的步骤,包括以下具体步骤:
到达指定时间激活任务,任务组类型选择器读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表;
任务组类型选择器执行所需要的脚本文件通过FTP上传到指定的Hive服务器;
任务组类型选择器根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务。
3.根据权利要求1所述的基于Web数据交互管理Hive的方法,其特征在于,所述任务组执行器执行任务组内的子节点任务的步骤中,还包括调用Ant远程登录主机,并执行Hive任务组内的任务。
4.根据权利要求1至3任一项所述的基于Web数据交互管理Hive的方法,其特征在于,所述任务组执行器执行任务组内的子节点任务的步骤,包括以下具体步骤:
判断任务组选择的执行模式是否是顺序执行模式;
若任务组选择的执行模式是顺序执行模式,按照设置的顺序执行任务组内的各个子节点任务;
若任务组选择的执行模式不是顺序执行模式,随机执行任务组内的各个子节点任务。
5.根据权利要求4所述的基于Web数据交互管理Hive的方法,其特征在于,所述若任务组选择的执行模式是顺序执行模式,按照设置的顺序执行任务组内的各个子节点任务的步骤,还包括判断顺序执行是否成功,若顺序执行成功,继续执行下一个子节点任务,直至全部子节点任务执行完成;若顺序执行失败,终止此任务组的子节点任务执行,并标志为该任务组此次执行失败。
6.根据权利要求4所述的基于Web数据交互管理Hive的方法,其特征在于,所述若任务组选择的执行模式不是顺序执行模式,随机执行任务组内的各个子节点任务的步骤,具体的,不管任务组内某一子节点任务是执行成功或是失败,仍然继续执行下一个子节点任务,直到全部子节点任务执行完毕。
7.根据权利要求1至3任一项所述的基于Web数据交互管理Hive的方法,其特征在于,所述实时记录任务、任务组的详细日志信息的步骤之后,还包括每隔一定时间监控并分析新产生的错误日志,判断是否有错误,若发现有错误,则立即发送邮件通知管理者,并将此错误日志转移至历史的错误日志数据中。
8.基于Web数据交互管理Hive的系统,其特征在于,包括Web管理单元、任务组类型选择器、任务组执行器以及记录单元;
所述Web管理单元,用于登录后创建任务,对任务进行分组,创建任务组,与所述任务组类型选择器连接;
所述任务组类型选择器,用于到达指定时间激活任务,由读取待执行的任务组信息,根据任务组的属性选择特定的任务组执行器,与所述任务组执行器连接;
所述任务组执行器,用于执行任务组内的子节点任务,与所述记录单元连接;
所述记录单元,用于实时记录任务、任务组的详细日志信息;
所述任务组类型选择器包括读取模块、上传模块以及调用模块;
所述读取模块,用于读取解析任务组的信息和组内的子节点任务列表,生成一个任务列表,与所述上传模块连接;
所述上传模块,用于执行所需要的脚本文件通过FTP上传到指定的Hive服务器,与所述调用模块;
所述调用模块,用于根据任务列表树信息开始调用任务执行器,执行任务组中的子节点任务;
所述任务组执行器包括判断模块、顺序执行模块以及随机执行模块;
所述判断模块,用于判断任务组选择的执行模式是否是顺序执行模式,与所述调用模块连接;
所述顺序执行模块,若任务组选择的执行模式是顺序执行模式,用于按照设置的顺序执行任务组内的各个子节点任务,分别与所述判断模块与所述记录单元连接;
所述随机执行模块,若任务组选择的执行模式不是顺序执行模式,用于随机序执行任务组内的各个子节点任务,与所述判断模块以及所述记录单元连接;
所述对任务进行分组,形成任务组,并选择每个任务组的任务的执行模式是顺序执行模式或者随机执行模式的步骤,对任务进行分组,应该按照以下三点的原则来分组:相同的业务需求的任务内容可以放入一个分组;任务组内的任务列表需要具有相同的执行模式;任务组内的任务列表具有相同的执行周期;
在分组时,任务组内的任务列表,以树状结构进行组织,以树的层级作为执行的优先级判断条件,相同层级的任务将采用随机执行,不同层级的任务采用顺序执行,顺序执行时需要父节点任务执行完成才能执行子节点的任务,并且当父节点出错的时候将不会执行子节点的任务;
Web管理页面中,增加设置随机执行的并行数,并行数设置一个上限。
CN201610974224.1A 2016-11-04 2016-11-04 基于Web数据交互管理Hive的方法及其系统 Active CN108021431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610974224.1A CN108021431B (zh) 2016-11-04 2016-11-04 基于Web数据交互管理Hive的方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610974224.1A CN108021431B (zh) 2016-11-04 2016-11-04 基于Web数据交互管理Hive的方法及其系统

Publications (2)

Publication Number Publication Date
CN108021431A CN108021431A (zh) 2018-05-11
CN108021431B true CN108021431B (zh) 2022-02-11

Family

ID=62083720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610974224.1A Active CN108021431B (zh) 2016-11-04 2016-11-04 基于Web数据交互管理Hive的方法及其系统

Country Status (1)

Country Link
CN (1) CN108021431B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684050B (zh) * 2018-12-06 2021-02-19 成都佰纳瑞信息技术有限公司 一种并行化事务执行器的使用方法
CN110609712A (zh) * 2019-09-25 2019-12-24 上海依图信息技术有限公司 网络请求离散化处理方法
CN112559148A (zh) * 2020-12-14 2021-03-26 用友网络科技股份有限公司 有序任务的执行方法、执行装置和执行系统
CN117422281B (zh) * 2023-12-18 2024-03-22 深圳赛桥生物创新技术有限公司 工艺文件测试方法、装置、计算机设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241567A (zh) * 2008-03-04 2008-08-13 浪潮集团山东通用软件有限公司 基于Windows服务技术的后台自动业务实现方法
CN101751429A (zh) * 2008-12-12 2010-06-23 中国移动通信集团山东有限公司 一种前后台数据库的同步方法及装置
US8555281B1 (en) * 2011-02-16 2013-10-08 Google Inc. Scheduling of tasks based upon historical execution times
CN102508716B (zh) * 2011-09-29 2015-04-15 用友软件股份有限公司 任务控制装置和任务控制方法
CN102520966B (zh) * 2011-12-28 2014-03-19 东软集团股份有限公司 一种代码提示方法和装置
CN103377032A (zh) * 2012-04-11 2013-10-30 浙江大学 一种基于异构多核芯片的细粒度科学计算并行处理装置
CN104239148B (zh) * 2013-06-06 2018-05-18 腾讯科技(深圳)有限公司 一种分布式任务调度方法及装置

Also Published As

Publication number Publication date
CN108021431A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
EP3798846B1 (en) Operation and maintenance system and method
US10747591B2 (en) Endpoint process state collector
CN108021431B (zh) 基于Web数据交互管理Hive的方法及其系统
CN106095677B (zh) 基于Robot Framework实现的RESTful Webservice接口自动化测试方法
WO2023142054A1 (zh) 一种面向容器微服务的性能监控告警方法及告警系统
CN102880503B (zh) 数据分析系统及数据分析方法
CN108521339B (zh) 一种基于集群日志的反馈式节点故障处理方法及系统
CN102323945B (zh) 一种基于sql的数据库管理方法和装置
US10177984B2 (en) Isolation of problems in a virtual environment
US9891971B1 (en) Automating the production of runbook workflows
US9122784B2 (en) Isolation of problems in a virtual environment
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
CN104022903A (zh) 一站式自动化运维系统
CN109635024A (zh) 一种数据迁移方法及系统
CN107807872A (zh) 一种输变电系统运行状态监测方法
US11403120B1 (en) Enterprise process graphs for representing RPA data
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
US10089167B2 (en) Log file reduction according to problem-space network topology
CN107423090B (zh) 一种Flash播放器异常日志管理方法及系统
CN113676354A (zh) 一种混合云运维管理方法及系统
CN113641739A (zh) 一种基于Spark的智能数据转换方法
CN112306862B (zh) 一种前端自动化测试系统及方法、存储介质、计算设备
Tisbeni et al. A Big Data Platform for heterogeneous data collection and analysis in large-scale data centres
CN112364071A (zh) 货值数据分析方法及系统
Kandan et al. A Generic Log Analyzer for automated troubleshooting in container orchestration system

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