Oozie Source Code Main

2018-10-10  本文已影响45人  chenfh5

最近想借着调度系统这个项目来看看业界出色的调度系统的源码,如Oozie,Airflow目录如下,

Overview

Oozie是雅虎开源出来的一个出色的工作流,支持很多jobType,spark,email等。主要分为3个角色,


Version

<groupId>org.apache.oozie</groupId>
<artifactId>oozie-main</artifactId>
<version>5.1.0-SNAPSHOT</version>
Latest Submission

Client

下面看看它的源码入口,

super("PUT", RestConstants.JOB, notEmpty(jobId, "jobId"), prepareParams(RestConstants.ACTION_PARAM, action));

public ClientCallable(String method, String collection, String resource, Map<String, String> params) {
    this(method, null, collection, resource, params);
}

public ClientCallable(String method, Long protocolVersion, String collection, String resource, Map<String, String> params) {
    this.method = method;
    this.protocolVersion = protocolVersion;
    this.collection = collection;
    this.resource = resource;
    this.params = params;
}

URL url = createURL(protocolVersion, collection, resource, params);

sb.append(getBaseURLForVersion(protocolVersion));
CLI

Server

源码入口,

URL Mapping

shardlib

源码入口,

将自定义的xxx.wf xml翻译成DAG,然后定时运行。

Actions Supported by Oozie
上一篇 下一篇

猜你喜欢

热点阅读