节点开发

DataWorksData Studio模块提供多种节点以满足不同数据处理需求:数据集成节点用于同步,引擎计算节点(如MaxCompute SQL、Hologres SQL、EMR Hive)用于数据清洗,通用节点(如虚拟节点和do-while循环节点)用于复杂逻辑处理。各节点协同工作,有效应对各种数据处理挑战。

支持的节点类型

以下为周期调度支持的节点类型,手动任务或手动业务流程支持的节点类型可能存在差异,请以实际界面为准。

说明

各节点在不同版本、不同地域支持情况存在差异,实际请以界面为准。

节点类型

节点名称

节点说明

节点编码

TaskType

Notebook

Notebook开发

Notebook提供了一个交互式且灵活的数据处理与分析平台,它通过增强直观性、模块化及交互体验,使数据处理、探索、可视化和模型构建变得更加高效便捷。

1323

NOTEBOOK

数据集成

离线同步节点

用于离线(批量)数据周期性同步场景,并且支持复杂场景下多种异构数据源间数据同步。

离线同步支持的数据源详情,请参见支持的数据源及同步方案

23

DI

实时同步节点

DataWorks提供的实时数据同步功能,支持您通过单表或整库方式,将源数据库的数据变化实时同步到目标数据库,确保两者数据一致。

实时同步支持的数据源详情,请参见支持的数据源及同步方案

900

RI

MaxCompute

MaxCompute SQL节点

支持周期性调度MaxComputeSQL任务。MaxCompute SQL任务采用类似SQL的语法,适用于海量数据(TB级)但实时性要求不高的分布式处理场景。

10

ODPS_SQL

SQL组件节点

SQL组件是一种包含多输入输出参数的SQL代码模板,能够通过过滤、连接和聚合数据源表来处理数据并生成结果表。在数据开发过程中,可以创建SQL组件节点,利用这些预定义组件快速搭建数据处理流程,从而显著提升开发效率。

1010

COMPONENT_SQL

MaxCompute Script节点

可以将多条SQL语句整合成一个脚本进行整体编译和执行,这非常适合处理复杂的查询场景,如嵌套子查询或需要分步操作的情况。通过一次性提交整个脚本并生成统一的执行计划,作业仅需排队和执行一次,从而更加高效地利用资源。

24

ODPS_SQL_SCRIPT

PyODPS 2节点

通过集成MaxComputePython SDK,能够在PyODPS 2节点上直接编写和编辑Python代码,从而便捷地进行MaxCompute的数据处理与分析任务。

221

PY_ODPS

PyODPS 3节点

通过PyODPS 3节点,可以直接使用Python代码编写MaxCompute作业,并配置这些作业进行周期性调度。

1221

PYODPS3

MaxCompute Spark节点

DataWorks平台上,支持运行基于MaxComputeSpark离线作业(Cluster模式)。

225

ODPS_SPARK

MaxCompute MR节点

通过创建MaxCompute MR类型节点并提交任务调度,可以使用MapReduce Java API编写MapReduce程序来处理MaxCompute中的大规模数据集。

11

ODPS_MR

元数据映射至Hologres

当您在Hologres需要加速查询MaxCompute数据时,可以使用数据目录的MaxCompute元数据映射功能,将MaxCompute表元数据映射至Hologres,通过Hologres外表实现对MaxCompute数据的加速查询。

-

-

数据同步至Hologres

支持将MaxCompute单表数据同步至Hologres,助力高效大数据分析与实时查询。

-

-

Hologres

Hologres SQL节点

Hologres SQL节点不仅支持查询Hologres实例中的数据,而且HologresMaxCompute在底层实现了无缝连接,使您无需迁移数据,即可通过Hologres SQL节点直接使用标准的PostgreSQL语句来查询和分析MaxCompute中的大规模数据,从而快速获得查询结果。

1093

HOLOGRES_SQL

数据同步至MaxCompute

支持将Hologres单表数据迁移至MaxCompute。

1070

HOLOGRES_SYNC_DATA_TO_MC

一键MaxCompute表结构同步节点

提供的一键导入表结构功能,能够快速批量创建与MaxCompute表结构一致的Hologres外部表。

1094

HOLOGRES_SYNC_DDL

一键MaxCompute数据同步节点

提供了一键MaxCompute数据同步节点功能,能够快速完成从MaxComputeHologres数据库的数据同步。

1095

HOLOGRES_SYNC_DATA

Serverless Spark

Serverless Spark Batch节点

基于Serverless SparkSpark节点,适用于大规模数据处理。

2100

SERVERLESS_SPARK_BATCH

Serverless Spark SQL节点

基于Serverless SparkSQL查询节点,支持标准SQL语法,提供高性能数据分析能力。

2101

SERVERLESS_SPARK_SQL

Serverless Kyuubi节点

通过Kyuubi JDBC/ODBC接口连接Serverless Spark,提供多租户Spark SQL服务。

2103

SERVERLESS_KYUUBI

Severless StarRocks

Severless StarRocks SQL节点

基于EMR Serverless StarRocksSQL节点,兼容开源StarRocksSQL语法,提供极速OLAP查询分析、LakeHouse湖仓查询分析。

2104

SERVERLESS_STARROCKS

大模型

大模型节点

内置强大的数据处理与分析挖掘引擎,支持根据您的自然语言指令,智能完成数据清洗与挖掘。

2200

LLM_NODE

Flink

Flink SQL Streaming节点

支持使用标准SQL语句定义实时任务处理逻辑。它具有易用性、丰富的SQL支持、强大的状态管理及容错能力,兼容事件时间和处理时间,并可灵活扩展。该节点易于与Kafka、HDFS等系统集成,提供详尽的日志和性能监控工具。

2012

FLINK_SQL_STREAM

Flink SQL Batch节点

能够使用标准SQL语句定义和执行数据处理任务,适用于大数据集的分析与转换,包括数据清洗和聚合。该节点支持可视化配置,提供高效且灵活的大规模数据批处理方案。

2011

FLINK_SQL_BATCH

EMR

EMR Hive节点

可以使用类SQL语句读取、写入和管理大数据集,从而高效地完成海量日志数据的分析和开发工作。

227

EMR_HIVE

EMR Impala节点

PB级大数据进行快速、实时的交互式SQL查询引擎。

260

EMR_IMPALA

EMR MR节点

可以将大规模数据集分解为多个并行处理的Map任务,从而显著提高数据处理效率。

230

EMR_MR

EMR Presto节点

灵活、可扩展的分布式SQL查询引擎,支持使用标准的SQL查询语言进行大数据的交互式分析查询。

259

EMR_PRESTO

EMR Shell节点

可以编辑自定义Shell脚本,对数据处理、调用Hadoop组件、操作文件等高级功能进行使用。

257

EMR_SHELL

EMR Spark节点

是一个通用的大数据分析引擎,以其高性能、易用性和广泛的适用性而著称。它支持复杂的内存计算,非常适合构建大规模且低延迟的数据分析应用。

228

EMR_SPARK

EMR Spark SQL节点

实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。

229

EMR_SPARK_SQL

EMR Spark Streaming节点

用于处理高吞吐量的实时流数据,并具备容错机制,可以快速恢复出错的数据流。

264

EMR_SPARK_STREAMING

EMR Trino节点

分布式SQL查询引擎,适用于多数据源交互式分析查询。

267

EMR_TRINO

EMR Kyuubi节点

分布式和多租户网关,为数据湖查询引擎(例如Spark、FlinkTrino等)提供SQL等查询服务。

268

EMR_KYUUBI

ADB

ADB for PostgreSQL节点

可进行AnalyticDB for PostgreSQL任务的开发和周期性调度。

1000090

-

ADB for MySQL节点

可进行AnalyticDB for MySQL任务的开发和周期性调度。

1000126

-

ADB Spark节点

可进行AnalyticDB Spark任务的开发和周期性调度。

1990

ADB_SPARK

ADB Spark SQL节点

可进行AnalyticDB Spark SQL任务的开发和周期性调度。

1991

ADB_SPARK_SQL

CDH

CDH Hive节点

已部署CDH集群并希望借助DataWorks执行Hive任务。

270

CDH_HIVE

CDH Spark节点

通用的大数据分析引擎,具有高性能、易用和普遍性等特点,可用于进行复杂的内存分析,构建大型、低延迟的数据分析应用。

271

CDH_SPARK

CDH Spark SQL节点

可实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。

272

CDH_SPARK_SQL

CDH MR节点

处理超大规模的数据集。

273

CDH_MR

CDH Presto节点

该节点提供了分布式SQL查询引擎,进一步增强了CDH环境的数据分析能力。

278

CDH_PRESTO

CDH Impala节点

CDH Impala节点可以编写并执行Impala SQL脚本,为您提供了更快速的查询性能。

279

CDH_IMPALA

Lindorm

Lindorm Spark节点

可进行Lindorm Spark任务的开发和周期性调度。

1800

LINDORM_SPARK

Lindorm Spark SQL节点

可进行Lindorm Spark SQL任务的开发和周期性调度。

1801

LINDORM_SPARK_SQL

Click House

ClickHouse SQL

可实现分布式SQL查询及处理结构化数据,提高作业的执行效率。

1301

CLICK_SQL

数据质量

质量监控

可通过配置数据质量监控规则,监控相关数据源表的数据质量(例如,是否存在脏数据)。同时,支持您自定义调度策略,周期性执行监控任务进行数据校验。

1333

DATA_QUALITY_MONITOR

数据对比

对比节点可实现对不同表数据进行多种方式的对比。

1331

DATA_SYNCHRONIZATION_QUALITY_CHECK

通用

虚拟节点

虚拟节点属于控制类型节点,它是不产生任何数据的空跑节点,通常作为业务流程统筹节点的根节点,方便您管理节点及业务流程。

99

VIRTUAL

赋值节点

用于参数传递,通过自带的output输出将赋值节点最后一条查询或输出结果通过节点上下文功能传递到下游,实现参数跨节点传递。

1100

CONTROLLER_ASSIGNMENT

Shell节点

Shell节点支持标准Shell语法,但不支持交互性语法。

6

DIDE_SHELL

参数节点

用于上游节点将参数汇总并向下分发传递。

1115

PARAM_HUB

OSS对象检查节点

通过监控OSS对象来触发下游节点执行。

239

OSS_INSPECT

Python节点

支持Python3.0语言,支持通过调度配置中的调度参数获取到上游参数以及配置自定义参数进行应用,以及将自身的输出作为参数输出至下游节点中。

1322

PYTHON

归并节点

用于对上游节点的运行状态进行归并,解决分支节点下游节点的依赖挂载和运行触发问题。

1102

CONTROLLER_JOIN

分支节点

用于对上游结果进行判断,决定不同结果走不同的分支逻辑,您可结合赋值节点一起使用。

1101

CONTROLLER_BRANCH

for-each节点

用于遍历赋值节点传递的结果集。

1106

CONTROLLER_TRAVERSE

do-while节点

用于循环执行部分节点逻辑,同时您也可结合赋值节点来循环输出赋值节点传递的结果。

1103

CONTROLLER_CYCLE

Check节点

用于检查目标对象(MaxCompute分区表、FTP文件或OSS文件)是否可用,当Check节点满足检查策略后会返回运行成功状态。若存在下游依赖,便会运行成功并触发下游任务执行。支持检查的目标对象:

  • MaxCompute分区表

  • FTP文件

  • OSS文件

  • HDFS

  • OSS-HDFS

241

CHECK_NODE

函数计算节点

用于周期性调度处理事件函数。

1330

FUNCTION_COMPUTE

HTTP触发器节点

如果您希望其他调度系统的任务完成后触发DataWorks上的任务运行,可以使用此节点。

说明

DataWorks已不再支持新建跨租户节点,如果您使用跨租户节点,建议更换为HTTP触发器节点,该节点与跨租户节点能力相同。

1114

SCHEDULER_TRIGGER

SSH节点

可通过指定SSH数据源的方式,在DataWorks远程访问该数据源连接的主机,并触发脚本在远程主机执行。

1321

SSH

数据推送节点

数据推送节点可将Data Studio业务流程中其他节点产生的数据查询结果,通过新建数据推送目标,将数据推送至钉钉群、飞书群、企业微信群、Teams以及邮箱。

1332

DATA_PUSH

数据库节点

MySQL节点

MySQL节点可以进行MySQL任务的开发和周期性调度。

1000125

-

SQL Server

SQL Server节点可以进行SQL Server任务的开发和周期性调度。

10001

-

Oracle节点

Oracle节点可进行Oracle任务的开发和周期性调度。

10002

-

PostgreSQL节点

PostgreSQL节点可进行PostgreSQL任务的开发和周期性调度。

10003

-

StarRocks节点

可进行StarRocks任务的开发和周期性调度。

10004

-

DRDS节点

可进行DRDS任务的开发和周期性调度。

10005

-

PolarDB MySQL节点

可进行PolarDB MySQL任务的开发和周期性调度。

10006

-

PolarDB PostgreSQL节点

PolarDB PostgreSQL节点可进行PolarDB PostgreSQL任务的开发和周期性调度。

10007

-

Doris节点

Doris节点可进行Doris任务的开发和周期性调度。

10008

-

MariaDB节点

MariaDB节点可进行MariaDB任务的开发和周期性调度。

10009

-

SelectDB节点

SelectDB节点可进行SelectDB任务的开发和周期性调度。

10010

-

Redshift节点

Redshift节点可以进行Redshift任务的开发和周期性调度。

10011

-

Saphana节点

Saphana节点可进行Saphana任务的开发和周期性调度。

10012

-

Vertica节点

Vertica节点可进行Vertica任务的开发和周期性调度。

10013

-

DM(达梦)节点

DM节点可进行DM任务的开发和周期性调度。

10014

-

KingbaseES(人大金仓)节点

KingbaseES节点可进行KingbaseES任务的开发和周期性调度。

10015

-

OceanBase节点

OceanBase节点可进行OceanBase任务的开发和周期性调度。

10016

-

DB2节点

DB2节点可进行DB2任务的开发和周期性调度。

10017

-

GBase 8a 节点

GBase 8a节点可进行GBase 8a任务的开发和周期性调度。

10018

-

算法

PAI Designer节点

PAI的可视化建模Designer,用于实现端到端的机器学习开发流程的可视化建模工具。

1117

PAI_STUDIO

PAI DLC节点

PAI的容器训练DLC,用于分布式执行训练任务。

1119

PAI_DLC

PAI Flow节点

PAI知识库索引工作流/在DataWorks侧生成PAIFlow节点。

1250

PAI_FLOW

逻辑节点

SUB_PROCESS节点

SUB_PROCESS节点通过整合多个业务流程为一个统一的整体进行管理和调度

1122

SUB_PROCESS

创建节点

创建调度工作流的节点

如果您的任务需要在指定时间定期自动执行(如按小时、天、周等周期运行),可以通过以下方式创建周期任务节点:创建周期任务节点、在周期工作流中添加内部节点,或通过克隆现有节点创建新节点。

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 在左侧导航栏单击image,进入数据开发页面。

创建周期任务节点

  1. 单击项目目录右侧的image,选择新建节点,选择需要的节点类型

    重要

    系统内置常见节点列表全部节点,选择最下面的全部节点可查看全部节点列表。使用搜索框快速查找,或通过分类筛选(如MaxCompute、数据集成、通用等)来定位并创建所需节点。

    可事先创建目录,对节点进行组织和管理。
  2. 设置节点名称并保存后,进入节点编辑页面。

周期工作流创建内部节点

  1. 创建周期工作流

  2. 在工作流看板,单击上面工具栏新建节点,根据需要开发的任务类型选择对应的节点类型,将其拖拽至画布中。

  3. 设置节点名称并保存。

克隆方式创建节点

通过克隆功能,快速克隆现有节点以创建新的节点。克隆内容包括节点的调度配置信息(调度参数调度时间调度依赖)。

  1. 在左侧项目目录中,右键单击需要克隆的节点,在弹出菜单中选择克隆

  2. 在弹窗中修改节点名称路径(或保留默认值),单击确认开始克隆。

  3. 克隆完成后,在项目目录中查看新生成的节点。

创建手动业务流程的节点

如果您的任务不需要周期性运行,但又需要将任务发布至生产环境,在需要时手动运行,可以在手动业务流程中创建内部节点。

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 在左侧导航栏单击image,进入手动业务流程页面。

    1. 创建手动业务流程

    2. 在手动业务流程编辑页面上方工具栏,单击新建内部节点,根据需要开发的任务类型选择对应的节点类型

    3. 设置节点名称并保存。

创建手动任务节点

  1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

  2. 在左侧导航栏单击image,进入手动任务页面。

  3. 在下方的手动任务处,单击手动任务右侧的image,选择新建节点,选择需要的节点类型。

    说明

    手动任务仅支持创建离线同步NotebookMaxCompute SQLMaxCompute ScriptPyODPS 2MaxCompute MRHologres SQLPython 节点Shell 节点

  4. 设置节点名称并保存后,进入节点编辑页面。

节点批量编辑

当工作流中的节点数量较多时,逐个打开节点进行编辑效率较低。DataWorks提供内部节点列表功能,支持在画布右侧以列表形式对所有节点进行快速的预览、搜索和批量编辑。

使用方法

  1. 在工作流画布顶部的工具栏中,单击显示内部节点列表按钮,即可在画布右侧打开功能面板。

    image

  2. 面板打开后,将以列表形式展示当前工作流中的所有节点。

    • 代码预览与排序

      • 支持代码编辑的节点(如MaxCompute SQL)会默认展开代码编辑器。

      • 不支持代码编辑的节点(如虚拟节点)会以卡片形式展示,并自动排列在列表底部。

    • 快速搜索与定位

      • 搜索:在顶部搜索框中输入关键字可对节点名称进行模糊搜索。

      • 联动:在画布和侧边栏之间可以双向联动定位。在画布中选择节点,侧边栏会高亮对应节点;反之,在侧边-栏点击节点,画布也会自动聚焦。

    • 在线编辑

      • 操作:每个节点卡片右上角提供加载最新代码打开节点编辑等快捷操作。

      • 自动保存:进入编辑状态后,当鼠标焦点离开代码块区域时,系统会自动保存修改。

      • 冲突检测:若代码在编辑期间被其他用户更新,保存时会触发失败提醒,防止代码被意外覆盖。

    • 专注模式

      • 选中节点,点击浮窗右上角的image开启专注模式,侧边栏将仅显示当前选中的节点,以提供更大的代码编辑空间。

版本管理

系统支持通过版本管理功能将节点还原到指定的历史版本,同时还提供版本查看与对比功能,方便您分析差异并做出调整。

  1. 在左侧项目目录中,双击目标节点名称,进入节点编辑页。

  2. 单击节点编辑页右侧的版本,在版本页面查看和管理开发记录发布记录信息。

    • 查看版本

      1. 您可以在开发记录发布记录页签中,找到需要查看的节点版本。

      2. 单击操作栏中的查看,可进入详情页查看节点代码内容以及调度配置信息。

        说明

        调度配置信息支持脚本模式可视化模式查看,您可在调度配置页签右上角切换查看模式。

    • 对比版本

      您可以在开发记录发布记录页签中,对不同版本的节点进行对比。下面以开发记录为例,为您演示对比操作。

      • 开发或发布环境对比:在开发记录页签中,勾选两个版本,单击上方的选择对比按钮,即可对比不同版本的节点代码内容和调度配置信息。

      • 开发与发布或构建环境对比

        1. 开发记录页签中,定位到节点的某个版本。

        2. 单击操作栏中的对比按钮,在详情页中选择与发布记录构建记录中的某个版本进行对比。

    • 还原版本

      仅支持将开发记录中的节点还原到指定的历史版本。您可在开发记录页签中找到目标版本,单击操作栏中的还原按钮,即可将该节点的代码和调度配置信息还原至目标版本。

相关文档

常见问题

是否支持下载节点代码(比如SQL、Python)至本地?

  • 解答:不直接提供下载功能。替代方案为直接在开发过程中复制代码至本地。或在新版Data Studio个人目录中添加本地文件进行开发,开发完之后提交至项目目录。此时您的代码直接保存在本地。