开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

dataworks的自定义节点运行时,如何开发任务的接口?

dataworks的自定义节点运行时,如何开发任务的接口?

展开
收起
真的很搞笑 2023-10-29 18:57:18 75 0
3 条回答
写回答
取消 提交回答
  • 在DataWorks中,自定义节点的开发主要涉及到Python编程。你需要使用Python编写任务的前置脚本、后置脚本和计算脚本。

    以下是一些基本的步骤:

    1. 前置脚本:前置脚本会在任务开始执行前被调用,你可以在这里进行一些初始化操作,例如读取配置文件、连接数据库等。

    2. 计算脚本:计算脚本是自定义节点的核心,你需要在这里实现你的业务逻辑。你可以使用Python的内置库,也可以使用DataWorks提供的API。

    3. 后置脚本:后置脚本会在任务执行完毕后被调用,你可以在这里进行一些清理操作,例如关闭连接、写入日志等。

    2023-10-30 14:43:42
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要在DataWorks中创建一个自定义节点并在运行时进行开发任务的接口,您需要编写一个JavaScript文件,并使用Node.js语法进行开发。以下是主要的步骤:

    1. 在您的项目中创建一个新的JavaScript文件,例如myNode.js。

    2. 在此文件中,导入并继承NodeBase类,这是一个抽象类,定义了一些必须的方法和一些可选的方法。

    const NodeBase = require('@alicloud/dataworksmeta').NodeBase;
    
    class MyNode extends NodeBase {
      // ...
    }
    
    1. 在继承的MyNode类中,重写需要的方法。

    例如,如果您想创建一个带有两个参数的自定义节点,那么可以在构造函数中声明这两个参数:

    constructor(options) {
      super(options);
      this.addInputPort({name: 'input1'});
      this.addInputPort({name: 'input2'});
    }
    
    1. 为您的节点实现处理逻辑。例如,您可以创建一个名为run的函数来处理接收到的输入。
    async run(context, inputs) {
      const input1 = inputs['input1'];
      const input2 = inputs['input2'];
    
      console.log(`The value of input1 is: ${input1}`);
      console.log(`The value of input2 is: ${input2}`);
    
      return { result: 'OK' };
    }
    
    1. 最后,导出您的类。
    module.exports = MyNode;
    
    1. 编译并上传您的JavaScript文件到服务器。

    2. 在DataWorks中,创建一个新的自定义节点,选择之前编译的JavaScript文件,并定义好输入参数。

    3. 将自定义节点放入工作流中,并为其提供必要的输入参数。

    2023-10-30 11:38:52
    赞同 展开评论 打赏
  • DataWorks的自定义节点运行时,插件开发使用过程中涉及以下2个接口。submitJob(String codeFilePath, List args):提交插件任务的接口。包含以下入参。codeFilePath:为页面开发的代码存储绝对路径。List args:为页面配置的调度参数,格式为{"key"="value","key2"="value2"...}。返回参数如下。0:表示任务运行成功。2:表示告知调度系统重新运行任务。1、4、或3:表示任务被终止。其他数值:表示任务运行失败。killJob():此接口主要用于监听任务终止(kill)信号,然后会触发该接口调用。此接口没有入参和返回参数。说明 若业务层面在9秒内未处理完毕,整个插件进程会被强制终止,整个任务运行失败。
    https://help.aliyun.com/document_detail/198585.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-10-29 23:17:11
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks高效数据分析最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载