CN111159270A - 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 - Google Patents
一种调度Zeppelin任务的方法、系统、计算设备及存储介质 Download PDFInfo
- Publication number
- CN111159270A CN111159270A CN201911408082.2A CN201911408082A CN111159270A CN 111159270 A CN111159270 A CN 111159270A CN 201911408082 A CN201911408082 A CN 201911408082A CN 111159270 A CN111159270 A CN 111159270A
- Authority
- CN
- China
- Prior art keywords
- zeppelin
- tasks
- scheduling
- task
- file
- 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.)
- Pending
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
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)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种调度Zeppelin任务的方法,包括以下步骤:Zeppelin生成包含多个任务的notebook;解析得到任务之间的依赖关系;根据依赖关系生成编排文件;根据编排文件完成任务。本发明无需人工设定有依赖关系的Zeppelin任务的执行顺序,可实现自动化调度有依赖关系的Zeppelin任务。本发明还提供了一种调度Zeppelin任务的系统、计算设备及存储介质。
Description
技术领域
本发明涉及大数据处理领域,特别涉及一种调度Zeppelin任务的方法、系统、计算设备及存储介质。
背景技术
目前,数据治理领域,存在各种各样的ETL(数据仓库技术)工具及调度系统,比如Kettle,Nifi,Zeppelin,Sqoop等等。Kettle是一个常用的ETL工具软件,但是其只支持单机部署,无法应对大数据分布式环境下数据处理的需求。Nifi是一个优秀的数据导流以及任务调度系统,但是对于需要执行大量SQL、统一管理就有些无能为力了。而Zeppelin是一个优秀的web数据驱动交互式云开发环境,方便ETL人员以及程序开发人员使用,无需担心环境问题,可以更加聚焦于业务逻辑的实现。
在Zeppelin中以notebook(笔记本)的形式组织和管理交互式数据探索任务,notebook可以包括多个paragraph(段)。paragraph是进行数据分析的最小单位,即在paragraph中可以完成数据分析代码的编写以及结果的可视化查看。因此,一个paragraph可看做是一个基本的任务单元。虽然,Zeppelin可以实现部分简单的paragraph解析、管理和调度。但是,由于Zeppelin仅提供执行单个paragraph和顺序执行所有paragraph的按钮,因此,notebook中的多个paragraph无法进行依赖度解析,只能由人工设定多个paragraph不同的执行顺序,或设定先后的调度时间,来实现有依赖关系的paragraph的执行。但是,人工设定的方式需要经验丰富的ETL人员进行分析和设定操作,人力成本高,执行效率低,耗时长,且无法进行并发操作。
因此,急需一种能实现自动化调度有依赖关系的Zeppelin任务的方法。
发明内容
本发明的目的在于解决现有技术中Zeppelin中有依赖关系的多个任务调度需要人工设定以致于人力成本高、执行效率低的问题。本发明提供了一种调度Zeppelin任务的方法、系统、计算设备及存储介质,可实现自动化调度有依赖关系的Zeppelin任务。
为解决上述技术问题,本发明的实施方式公开了一种调度Zeppelin任务的方法,包括以下步骤:Zeppelin生成包含多个任务的notebook;解析得到任务之间的依赖关系;根据依赖关系生成编排文件;根据编排文件完成任务。
采用上述技术方案,可实现自动化调度有依赖关系的Zeppelin任务。
可选地,Zeppelin生成包含多个任务的notebook的步骤,包括:创建包含ID信息的notebook;根据代表任务的SQL语句生成notebook的json数据。
可选地,解析得到任务之间的依赖关系的步骤,包括:根据ID信息获得json数据;提取json数据中的SQL语句;解析SQL语句间的依赖关系。
可选地,根据依赖关系生成编排文件的步骤,包括:根据依赖关系生成依赖关系树;根据依赖关系树创建编排文件。
可选地,根据编排文件完成任务的步骤,包括:编排文件上传至Azkaban;Azkaban根据编排文件完成任务。
可选地,Azkaban根据编排文件完成任务的步骤,包括:Azkaban调用Spark作为执行引擎;Spark使用cluster模式执行编排文件。
本发明的实施方式还公开了一种调度Zeppelin任务的系统,包括:Zeppelin模块,用于生成包含多个任务的notebook;解析模块,用于解析得到任务之间的依赖关系;文件生成模块,用于根据依赖关系生成编排文件;调度模块,用于根据编排文件完成任务。
采用上述技术方案的调度Zeppelin任务的系统,可实现自动化调度有依赖关系的Zeppelin任务。
可选地,Zeppelin模块包括创建单元、编辑单元和转换单元,创建单元用于创建包含ID信息的notebook,编辑单元用于用户编辑notebook、输入代表任务的SQL语句,转换单元用于对完成编辑的notebook生成对应的json数据;解析模块包括获取单元、提取单元和解析单元,获取单元用于根据ID信息获取json数据,提取单元用于提取json数据中的SQL语句,解析单元用于解析SQL语句之间的依赖关系。
可选地,调度模块为Azkaban模块。
可选地,调度Zeppelin任务的系统还包括执行引擎Spark,Spark用于被Azkaban模块调用以执行编排文件。
本发明的实施方式还公开了一种计算设备,包括:处理器,适于实现各种指令;存储器,适于存储多条指令,指令适于由处理器加载并前述的任一调度Zeppelin任务的方法。
采用上述技术方案的计算设备,使用时可实现自动化调度有依赖关系的Zeppelin任务。
本发明的实施方式还公开了一种存储介质,存储介质存储有多条指令,指令适于由处理器加载并执行前述的任一调度Zeppelin任务的方法。
采用上述技术方案的存储介质,应用时可实现自动化调度有依赖关系的Zeppelin任务。
附图说明
图1示出本发明一实施例的调度Zeppelin任务的方法的流程图;
图2示出本发明一实施例中步骤S1的流程图;
图3示出本发明一实施例中步骤S2的流程图;
图4示出本发明一实施例中步骤S3的流程图;
图5示出本发明一实施例中步骤S4的流程图;
图6示出本发明一实施例中步骤S42的流程图;
图7示出本发明一实施例的调度Zeppelin任务的系统的示意框图;
图8示出本发明一实施例的Zeppelin模块的示意框图;
图9示出本发明一实施例的解析模块的示意框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
参照图1所示,本发明的实施方式公开了一种调度Zeppelin任务的方法,包括以下步骤,S1:Zeppelin生成包含多个任务的notebook;S2:解析得到任务之间的依赖关系;S3:根据依赖关系生成编排文件;S4:根据编排文件完成任务。
在S1中,用户可根据数据处理的需求,在Zeppelin上生成包含多个paragraph的notebook。本实施方式所公开的调度Zeppelin任务的方法中,以一个paragraph代表一个任务,在其他实施方式中,也可根据实际需要,设定以多个paragragh代表一个任务,本发明对此不作限制。其中,多个paragraph代表的任务之间可以是存在依赖关系的。例如,任务1是:“create tableA”,任务2是:“create tableB”,任务3是:“create tebleC from tableAjoin tableB”。本发明不对任务的数量、具体内容和形式进行限制,可根据需要进行编辑。
在S2中,可以解析SQL语句中的源表和目的表,这样就会形成目的表对源表的依赖,即可得到任务之间的依赖关系,从而无需人工参与,减少了人力成本。例如,解析任务1和任务2可知任务1和任务2之间不存在依赖关系,解析任务3可知,目的表tableC依赖于源表tableA和源表tableB,即任务3依赖于任务1和任务2。则在任务执行过程中,任务1和任务2可以同时执行,也可以先执行一个再执行另一个,但任务3必须在任务1和任务2都执行完毕之后才能执行。
在S3中,可根据3个任务之间的依赖关系,结合调度时对可执行文件的要求,自动对应生成可供执行的编排文件,编排文件包括任务1-3的内容和执行的先后顺序。例如,当使用Azkaban执行编排文件时,所述编排文件可以是可供Azkaban执行的多个.job文件,当使用Airflow执行编排文件时,所述编排文件可以是可供Airflow执行的json数据。本发明不对编排文件的具体格式做限制,只要编排文件被执行后能实现待任务1和任务2均执行完毕后再执行任务3的效果即可。
在S4中,生成的编排文件可同步到如Airflow、Azkaban等调度模块,以进行任务的调度执行,即可自动、高效地完成上述3个任务。
采用上述技术方案,可实现自动化调度有依赖关系的Zeppelin任务。
参照图2所示,可选地,Zeppelin生成包含多个任务的notebook的步骤,包括,S11:创建包含ID信息的notebook;S12:根据代表任务的SQL语句生成notebook的json数据。
在S11中,可以新建一个空白的notebook,在创建过程中,系统会为notebook自动配置相应的ID信息。例如,新建了一个ID信息为Q1A2Z3的notebook。也可以是打开一个已有的notebook,则该notebook在之前的创建过程中也有其对应的ID信息。在S12中,创建完成后,用户可以输入代表任务信息的SQL语句。其中,可以一个paragraph仅包含一句SQL语句,即一句SQL是一个基本的任务单元。任务信息输入完毕后,生成该notebook对应的json数据。json是轻量级的文本数据交换格式,比xml更小、更快、更易于生成,便于服务端解析,适于进行跨平台的数据交流。因此,生成notebook对应的json数据,减少了整个任务调度执行过程的时间,且便于后续的依赖关系解析。
参照图3所示,可选地,解析得到任务之间的依赖关系的步骤,包括,S21:根据ID信息获得json数据;S22:提取json数据中的SQL语句;S23:解析SQL语句间的依赖关系。
在S21中,因为一个notebook对应其特有的ID信息,且一个notebook存在其对应的json数据,因此,可以根据ID信息的不同,获取对应notebook的json数据,有利于在多人协作的情况下也能轻松应对数据处理任务的调度流程。即,多名用户可根据自身的数据处理的需求,创建不同的notebook,创建完成后多个notebook的ID信息均会数据同步到解析模块,解析模块可根据ID信息来准确获取对应的json数据。在S22中,可以提取json数据中所包含的SQL语句,即任务的信息。在S23中,解析SQL语句之间的依赖关系便可以得到多个任务之间的依赖关系。因此,可实现多人协作下的数据处理任务的有序调度。
参照图4所示,可选地,根据依赖关系生成编排文件的步骤,包括,S31:根据依赖关系生成依赖关系树;S32:根据依赖关系树创建编排文件。
在S31中,对于一个notebook,根据SQL语句间的依赖关系,可以对应生成一个关于多个SQL间的依赖关系树,便于后续生成对应的编排文件,提高编排文件的创建效率。在S32中,可以根据调度模块的需要,根据依赖关系树和SQL语句对应生成可执行的编排文件。例如,当调度模块为Azkaban时,编排文件可以是包含多个.job为后缀的文件和依赖关系的flow(工作流)。此时,一个依赖关系树可以对应生成一个编排文件。即,根据一个依赖关系树可以创建一个flow(工作流),一个flow里包含多个.job文件及文件之间调度关系,一个.job文件对应于前面的一个SQL语句。对于多个notebook,可以对应生成多个flow,既可以按照数据同步的前后时间顺序对flow编号,也可以根据业务优先级等方法对flow进行编号,便于后续对多个noetbook所包含任务的调度执行,提高了任务处理效率。本发明不对编排文件的具体内容和格式不作限制,可根据后续执行流程中的调度模块的不同进行调整,只要能实现本发明的目的即可。
参照图5所示,可选地,根据编排文件完成任务的步骤,包括,S41:编排文件上传至Azkaban;S42:Azkaban根据编排文件完成任务。
在S41中,编排文件生成后可以通过自动同步的方式上传到Azkaban。在S42中,Azkaban可根据设定在接收到编排文件后执行编排文件,从而完成有依赖关系的多任务调度执行。可用作调度模块的除了Azkaban外,还有Airflow等。但是,Airflow的beat占用CPU比较严重,需要用python脚本提交任务。相比于Airflow,Azkaban能够很好的兼容多版本hadoop系统,通过web页面操作简单,能够实现插件式模块管理,提升了任务调度的便捷性和效率。且Azkaban有三种模式可供选择:单一服务器的试用模式,生产环境的双服务器模式以及分布式多执行器模式,因此Azkaban可以根据用户侧规模的不同,需运行的任务数量的多少来进行不同的模式部署,灵活性较强。不同于Zeppelin只能串行执行任务,Azkaban具有优秀的调度管理能力,且能够并发地执行任务。例如,在解析前述3个任务依赖关系的基础之上,可生成对应的编排文件,Azkaban根据编排文件进行任务的调度和执行,先同时执行任务1和任务2,任务1和任务2均执行完毕后再执行任务3。将Zeppelin的良好交互性与Azkaban的任务调度能力相结合,既能够实现自动化对有依赖关系的Zeppelin任务调度,又可以并发执行无依赖关系的Zeppelin任务,进一步提升了数据处理任务的调度执行效率,降低了人力成本。
参照图6所示,可选地,Azkaban根据编排文件完成任务的步骤,包括,S421:Azkaban调用Spark作为执行引擎;S422:Spark使用cluster模式执行编排文件。
在大数据处理过程中,常用的执行引擎有Presto,Spark,Hive等,Spark凭借其优秀的内存管理,发送执行逻辑而非数据的分布式任务执行理念,能够有效地利用系统资源,提升任务执行效率。且Azkaban内集成了Spark插件,因此在S421中,调用Spark,通过Spark-sql形式执行编排文件内的SQL语句完成任务非常便捷。在S42中,Spark使用cluster模式执行编排文件。cluster模式适用于生产环境,尤其是对于多人协作的大量数据处理任务,能提升多任务调度执行的效率。
参照图7所示,本发明的实施方式还公开了一种调度Zeppelin任务的系统1,包括:Zeppelin模块11,用于生成包含多个任务的notebook;解析模块12,用于解析得到任务之间的依赖关系;文件生成模块13,用于根据依赖关系生成编排文件;调度模块14,用于根据编排文件完成任务。
本发明所公开的调度Zeppelin任务的系统,可参照前述实施方式中的调度Zeppelin任务的方法,实现自动化调度有依赖关系的Zeppelin任务。
参照图8和图9所示,可选地,Zeppelin模块11包括创建单元111、编辑单元112和转换单元113,创建单元111用于创建包含ID信息的notebook,编辑单元112用于用户编辑notebook,输入代表任务的SQL语句,转换单元113用于对完成编辑的notebook生成对应的json数据,解析模块12包括获取单元121、提取单元122和解析单元123,获取单元121用于根据ID信息获取json数据,提取单元122用于提取json数据中的SQL语句,解析单元123用于解析SQL语句之间的依赖关系。
本发明所公开的调度Zeppelin任务的系统1,可参照前述实施方式中的调度Zeppelin任务的方法,通过生成notebook的json数据,减少了整个任务调度执行过程的时间,且便于后续的依赖关系解析。通过ID信息、notebook和json数据之间的对应关系,可以实现在多人协作时也可以轻松应对数据处理任务的调度流程,提升了多人多任务调度执行的效率。
可选地,调度模块13为Azkaban模块。
本发明所公开的调度Zeppelin任务的系统1,可参照前述实施方式中的调度Zeppelin任务的方法,由Azkaban完成任务的调度执行。Azkaban能够很好的兼容多版本hadoop系统,通过web页面操作简单,能够实现插件式模块管理,提升了任务调度的便捷性和效率。且Azkaban有三种模式可供选择:单一服务器的试用模式,生产环境的双服务器模式以及分布式多执行器模式,因此Azkaban可以根据用户侧规模的不同,需运行的任务数量的多少来进行不同的模式部署,灵活性较强。不同于Zeppelin只能串行执行任务,Azkaban具有优秀的调度管理能力,且能够并发地执行任务。将Zeppelin的良好交互性与Azkaban的任务调度能力相结合,既能够实现自动化对有依赖关系的Zeppelin任务调度,又可以并发执行无依赖关系的Zeppelin任务,进一步提升了数据处理任务的调度执行效率,降低了人力成本。
可选地,调度Zeppelin任务的系统还包括执行引擎Spark(图未示),Spark用于被Azkaban模块调用以执行编排文件。
在大数据处理过程中,常用的执行引擎有Presto,Spark,Hive等,Spark凭借其优秀的内存管理,发送执行逻辑而非数据的分布式任务执行理念,能够有效地利用系统资源,提升任务执行效率。且Azkaban内集成了Spark插件,因此调用Spark,通过Spark-sql形式执行编排文件内的SQL语句完成任务非常便捷。cluster模式适用于生产环境,尤其是在多人协作时,进一步提升了多任务调度执行的效率。
本发明的实施方式还公开了一种计算设备,包括:处理器,适于实现各种指令;存储器,适于存储多条指令,指令适于由处理器加载并前述的任一调度Zeppelin任务的方法。
采用上述技术方案的计算设备,使用时可实现自动化调度有依赖关系的Zeppelin任务。
本发明的实施方式还公开了一种存储介质,存储介质存储有多条指令,指令适于由处理器加载并执行前述的任一调度Zeppelin任务的方法。
采用上述技术方案的存储介质,应用时可实现自动化调度有依赖关系的Zeppelin任务。
本申请公开的各实施方式可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施方式可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各模块/单元都是逻辑模块/单元,在物理上,一个逻辑模块/单元可以是一个物理模块/单元,也可以是一个物理模块/单元的一部分,还可以以多个物理模块/单元的组合实现,这些逻辑模块/单元本身的物理实现方式并不是最重要的,这些逻辑模块/单元所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的模块/单元引入,这并不表明上述设备实施例并不存在其它的模块/单元。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。本领域技术人员可以在形式上和细节上对其作各种改变,包括做出若干简单推演或替换,而不偏离本发明的精神和范围。
Claims (12)
1.一种调度Zeppelin任务的方法,其特征在于,包括以下步骤:
Zeppelin生成包含多个任务的notebook;
解析得到所述任务之间的依赖关系;
根据所述依赖关系生成编排文件;
根据所述编排文件完成所述任务。
2.如权利要求1所述的调度Zeppelin任务的方法,所述Zeppelin生成包含多个任务的notebook的步骤,包括:
创建包含ID信息的notebook;
根据代表所述任务的SQL语句生成所述notebook的json数据。
3.如权利要求2所述的调度Zeppelin任务的方法,其特征在于,所述解析得到所述任务之间的依赖关系的步骤,包括:
根据所述ID信息获得所述json数据;
提取所述json数据中的所述SQL语句;
解析所述SQL语句间的依赖关系。
4.如权利要求3所述的调度Zeppelin任务的方法,其特征在于,根据所述依赖关系生成编排文件的步骤,包括:
根据所述依赖关系生成依赖关系树;
根据所述依赖关系树创建编排文件。
5.如权利要求1所述的调度Zeppelin任务的方法,其特征在于,根据所述编排文件完成所述任务的步骤,包括:
编排文件上传至Azkaban;
Azkaban根据所述编排文件完成所述任务。
6.如权利要求5所述的调度Zeppelin任务的方法,其特征在于,所述Azkaban根据所述编排文件完成所述任务的步骤,包括:
所述Azkaban调用Spark作为执行引擎;
所述Spark使用cluster模式执行所述编排文件。
7.一种调度Zeppelin任务的系统,其特征在于,包括:
Zeppelin模块,用于生成包含多个任务的notebook;
解析模块,用于解析得到所述任务之间的依赖关系;
文件生成模块,用于根据所述依赖关系生成编排文件;
调度模块,用于根据所述编排文件完成所述任务。
8.如权利要求7所述的调度Zeppelin任务的系统,其特征在于,所述Zeppelin模块包括创建单元、编辑单元和转换单元,所述创建单元用于创建包含ID信息的所述notebook,所述编辑单元用于用户编辑所述notebook、输入代表所述任务的SQL语句,所述转换单元用于对完成编辑的所述notebook生成对应的json数据;所述解析模块包括获取单元、提取单元和解析单元,所述获取单元用于根据所述ID信息获取所述json数据,所述提取单元用于提取所述json数据中的所述SQL语句,所述解析单元用于解析所述SQL语句之间的依赖关系。
9.如权利要求7所述的调度Zeppelin任务的系统,其特征在于,所述调度模块为Azkaban模块。
10.如权利要求9所述的调度Zeppelin任务的系统,其特征在于,所述调度Zeppelin任务的系统还包括执行引擎Spark,所述Spark用于被所述Azkaban模块调用以执行所述编排文件。
11.一种计算设备,其特征在于,包括:
处理器,适于实现各种指令;
存储器,适于存储多条指令,所述指令适于由所述处理器加载并执行权利要求1-6中任一项所述的调度Zeppelin任务的方法。
12.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1-6中任一项所述的调度Zeppelin任务的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911408082.2A CN111159270A (zh) | 2019-12-31 | 2019-12-31 | 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911408082.2A CN111159270A (zh) | 2019-12-31 | 2019-12-31 | 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159270A true CN111159270A (zh) | 2020-05-15 |
Family
ID=70559704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911408082.2A Pending CN111159270A (zh) | 2019-12-31 | 2019-12-31 | 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159270A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651460A (zh) * | 2020-06-11 | 2020-09-11 | 上海德易车信息科技有限公司 | 一种数据治理方法、装置、电子设备及可读存储介质 |
CN111782204A (zh) * | 2020-07-03 | 2020-10-16 | 中国工商银行股份有限公司 | 批量排程编辑方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470631A (zh) * | 2007-12-27 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种任务排序装置 |
US20090319608A1 (en) * | 2008-06-23 | 2009-12-24 | Microsoft Corporation | Automated task centered collaboration |
US20170161359A1 (en) * | 2015-12-07 | 2017-06-08 | Sap Se | Pattern-driven data generator |
CN107818112A (zh) * | 2016-09-13 | 2018-03-20 | 腾讯科技(深圳)有限公司 | 一种大数据分析作业系统及任务提交方法 |
CN109740765A (zh) * | 2019-01-31 | 2019-05-10 | 成都品果科技有限公司 | 一种基于亚马逊网络服务器的机器学习系统搭建方法 |
CN110083455A (zh) * | 2019-05-07 | 2019-08-02 | 网易(杭州)网络有限公司 | 图计算处理方法、装置、介质及电子设备 |
CN110471652A (zh) * | 2019-08-01 | 2019-11-19 | 北京柠檬微趣科技股份有限公司 | 任务编排方法、编排器、设备及可读存储介质 |
-
2019
- 2019-12-31 CN CN201911408082.2A patent/CN111159270A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470631A (zh) * | 2007-12-27 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种任务排序装置 |
US20090319608A1 (en) * | 2008-06-23 | 2009-12-24 | Microsoft Corporation | Automated task centered collaboration |
US20170161359A1 (en) * | 2015-12-07 | 2017-06-08 | Sap Se | Pattern-driven data generator |
CN107818112A (zh) * | 2016-09-13 | 2018-03-20 | 腾讯科技(深圳)有限公司 | 一种大数据分析作业系统及任务提交方法 |
CN109740765A (zh) * | 2019-01-31 | 2019-05-10 | 成都品果科技有限公司 | 一种基于亚马逊网络服务器的机器学习系统搭建方法 |
CN110083455A (zh) * | 2019-05-07 | 2019-08-02 | 网易(杭州)网络有限公司 | 图计算处理方法、装置、介质及电子设备 |
CN110471652A (zh) * | 2019-08-01 | 2019-11-19 | 北京柠檬微趣科技股份有限公司 | 任务编排方法、编排器、设备及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651460A (zh) * | 2020-06-11 | 2020-09-11 | 上海德易车信息科技有限公司 | 一种数据治理方法、装置、电子设备及可读存储介质 |
CN111782204A (zh) * | 2020-07-03 | 2020-10-16 | 中国工商银行股份有限公司 | 批量排程编辑方法及装置 |
CN111782204B (zh) * | 2020-07-03 | 2024-04-30 | 中国工商银行股份有限公司 | 批量排程编辑方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11037345B2 (en) | Systems and methods for processing computational workflows | |
Richter et al. | Digital work design: The interplay of human and computer in future work practices as an interdisciplinary (grand) challenge | |
US11269660B2 (en) | Methods and systems for integrated development environment editor support with a single code base | |
CN108304201B (zh) | 对象更新方法、装置及设备 | |
CN105528418B (zh) | 一种设计文档生成方法及装置 | |
US20200125336A1 (en) | System and method for enhancing component based development models with auto-wiring | |
US9798650B1 (en) | Application testing system and method | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN111159270A (zh) | 一种调度Zeppelin任务的方法、系统、计算设备及存储介质 | |
US9116708B2 (en) | Program creation support apparatus, program, and information system | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
US10754868B2 (en) | System for analyzing the runtime impact of data files on data extraction, transformation, and loading jobs | |
CN105378709A (zh) | 由移动计算设备进行文件管理的系统和方法 | |
US20130110730A1 (en) | Integration of computerized project planning and project diagramming | |
CN112947912A (zh) | 生成代码的方法、装置、电子设备和存储介质 | |
CN115268873A (zh) | 一种基于多人协作的低代码文件开发方法 | |
Singh et al. | ARCHI4MOM: Using Tracing Information to Extract the Architecture of Microservice-Based Systems from Message-Oriented Middleware | |
CN112597121A (zh) | 逻辑脚本的处理方法、装置、电子设备及存储介质 | |
US11714614B2 (en) | Code generation tool for cloud-native high-performance computing | |
CN113760489B (zh) | 一种资源配置方法和装置 | |
US10922106B2 (en) | Systems and methods for providing globalization features in a service management application interface | |
US11080258B2 (en) | Table generation based on scripts for existing tables | |
US20200334721A1 (en) | Processing of pricing update documents | |
CN116932034A (zh) | 基于工作流的多版本sql代码管理方法、装置、介质及设备 | |
WO2022177663A1 (en) | Code generation tool for cloud-native high-performance computing |
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 |