基于YARN的计算(参见MapReduceTask)

    • 需要在 cn.dolphinscheduler.server.worker.task 下的 TaskManager 类中创建自定义任务(也需在TaskType注册对应的任务类型)
    • 需要继承cn.dolphinscheduler.server.worker.task 下的 AbstractYarnTask
    • 继承 AbstractParameters 自定义任务参数实体
    • 重写 AbstractTaskinit 方法中解析自定义任务参数
    • 重写 buildCommand 封装command

    基于非YARN的计算(参见ShellTask)

    • 需要在 cn.dolphinscheduler.server.worker.task 下的 TaskManager 中创建自定义任务

    • 构造方法中实例化 ShellCommandExecutor

    • 重写 handle 方法,调用 ShellCommandExecutorrun 方法,第一个参数传入自己的command,第二个参数传入 ProcessDao,设置相应的 exitStatusCode

    基于非SHELL的任务(参见SqlTask)

    • 需要在 cn.dolphinscheduler.server.worker.task 下的 TaskManager 中创建自定义任务
    • 需要继承cn.dolphinscheduler.server.worker.task 下的 AbstractTask
    • 继承 AbstractParameters 自定义任务参数实体
    • 构造方法或者重写 AbstractTaskinit 方法中,解析自定义任务参数实体