节点开发
DataWorks的Data Studio模块提供多种节点以满足不同数据处理需求:数据集成节点用于同步,引擎计算节点(如MaxCompute SQL、Hologres SQL、EMR Hive)用于数据清洗,通用节点(如虚拟节点和do-while循环节点)用于复杂逻辑处理。各节点协同工作,有效应对各种数据处理挑战。
支持的节点类型
节点类型 | 节点名称 | 节点说明 | 节点编码 | TaskType |
Notebook | Notebook提供了一个交互式且灵活的数据处理与分析平台,它通过增强直观性、模块化及交互体验,使数据处理、探索、可视化和模型构建变得更加高效便捷。 | 1323 | NOTEBOOK | |
数据集成 | 用于离线(批量)数据周期性同步场景,并且支持复杂场景下多种异构数据源间数据同步。 离线同步支持的数据源详情,请参见支持的数据源及同步方案。 | 23 | DI2 | |
MaxCompute | 支持周期性调度MaxCompute的SQL任务,同时兼容与其他类型节点的集成及联合调度。MaxCompute SQL任务采用类似SQL的语法,适用于海量数据(TB级)但实时性要求不高的分布式处理场景。 | 10 | ODPS_SQL | |
SQL组件是一种包含多输入输出参数的SQL代码模板,能够通过过滤、连接和聚合数据源表来处理数据并生成结果表。在数据开发过程中,可以创建SQL组件节点,利用这些预定义组件快速搭建数据处理流程,从而显著提升开发效率。 | 1010 | COMPONENT_SQL | ||
可以将多条SQL语句整合成一个脚本进行整体编译和执行,这非常适合处理复杂的查询场景,如嵌套子查询或需要分步操作的情况。通过一次性提交整个脚本并生成统一的执行计划,作业仅需排队和执行一次,从而更加高效地利用资源。 | 24 | ODPS_SCRIPT | ||
通过集成MaxCompute的Python SDK,能够在PyODPS 2节点上直接编写和编辑Python代码,从而便捷地进行MaxCompute的数据处理与分析任务。 | 221 | PY_ODPS | ||
通过PyODPS 3节点,可以直接使用Python代码编写MaxCompute作业,并配置这些作业进行周期性调度。 | 1221 | PY_ODPS3 | ||
在DataWorks平台上,支持运行基于MaxCompute的Spark离线作业(Cluster模式),以便与其它类型执行节点集成和调度。 | 225 | SPARK | ||
通过创建MaxCompute MR类型节点并提交任务调度,可以使用MapReduce Java API编写MapReduce程序来处理MaxCompute中的大规模数据集。 | 11 | ODPS_MR | ||
Hologres | Hologres SQL节点不仅支持查询Hologres实例中的数据,而且Hologres与MaxCompute在底层实现了无缝连接,使您无需迁移数据,即可通过Hologres SQL节点直接使用标准的PostgreSQL语句来查询和分析MaxCompute中的大规模数据,从而快速获得查询结果。 | 1093 | HOLOGRES_SQL | |
提供的一键导入表结构功能,能够快速批量创建与MaxCompute表结构一致的Hologres外部表。 | 1094 | HOLOGRES_SYNC_DDL | ||
提供了一键MaxCompute数据同步节点功能,能够快速完成从MaxCompute到Hologres数据库的数据同步。 | 1095 | HOLOGRES_SYNC_DATA | ||
Flink | 支持使用标准SQL语句定义实时任务处理逻辑。它具有易用性、丰富的SQL支持、强大的状态管理及容错能力,兼容事件时间和处理时间,并可灵活扩展。该节点易于与Kafka、HDFS等系统集成,提供详尽的日志和性能监控工具。 | 2012 | FLINK_SQL_STREAM | |
能够使用标准SQL语句定义和执行数据处理任务,适用于大数据集的分析与转换,包括数据清洗和聚合。该节点支持可视化配置,提供高效且灵活的大规模数据批处理方案。 | 2011 | FLINK_SQL_BATCH | ||
EMR | 可以使用类SQL语句读取、写入和管理大数据集,从而高效地完成海量日志数据的分析和开发工作。 | 227 | EMR_HIVE | |
PB级大数据进行快速、实时的交互式SQL查询引擎。 | 260 | EMR_IMPALA | ||
可以将大规模数据集分解为多个并行处理的Map任务,从而显著提高数据处理效率。 | 230 | EMR_MR | ||
灵活、可扩展的分布式SQL查询引擎,支持使用标准的SQL查询语言进行大数据的交互式分析查询。 | 259 | EMR_PRESTO | ||
可以编辑自定义Shell脚本,对数据处理、调用Hadoop组件、操作文件等高级功能进行使用。 | 257 | EMR_SHELL | ||
是一个通用的大数据分析引擎,以其高性能、易用性和广泛的适用性而著称。它支持复杂的内存计算,非常适合构建大规模且低延迟的数据分析应用。 | 228 | EMR_SPARK | ||
实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。 | 229 | EMR_SPARK_SQL | ||
用于处理高吞吐量的实时流数据,并具备容错机制,可以快速恢复出错的数据流。 | 264 | SPARK_STREAMING | ||
分布式SQL查询引擎,适用于多数据源交互式分析查询。 | 267 | EMR_TRINO | ||
分布式和多租户网关,为数据湖查询引擎(例如Spark、Flink或Trino等)提供SQL等查询服务。 | 268 | EMR_KYUUBI | ||
ADB | 可进行AnalyticDB for PostgreSQL任务的开发和周期性调度,以及与其他作业的集成操作。 | 1000024 | - | |
可进行AnalyticDB for MySQL任务的开发和周期性调度,以及与其他作业的集成操作。 | 1000036 | - | ||
CDH | 已部署CDH集群并希望借助DataWorks执行Hive任务。 | 270 | CDH_HIVE | |
通用的大数据分析引擎,具有高性能、易用和普遍性等特点,可用于进行复杂的内存分析,构建大型、低延迟的数据分析应用。 | 271 | CDH_SPARK | ||
可实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。 | 272 | CDH_SPARK_SQL | ||
处理超大规模的数据集。 | 273 | CDH_MR | ||
该节点提供了分布式SQL查询引擎,进一步增强了CDH环境的数据分析能力。 | 278 | CDH_PRESTO | ||
CDH Impala节点可以编写并执行Impala SQL脚本,为您提供了更快速的查询性能。 | 279 | CDH_IMPALA | ||
Click House | 可实现分布式SQL查询及处理结构化数据,提高作业的执行效率。 | - | - | |
通用 | 虚拟节点属于控制类型节点,它是不产生任何数据的空跑节点,通常作为业务流程统筹节点的根节点,方便您管理节点及业务流程。 | 99 | VIRTUAL_NODE | |
用于参数传递,通过自带的output输出将赋值节点最后一条查询或输出结果通过节点上下文功能传递到下游,实现参数跨节点传递。 | 1100 | CONTROLLER_ASSIGNMENT | ||
Shell节点支持标准Shell语法,但不支持交互性语法。 | 6 | SHELL2 | ||
用于上游节点将参数汇总并向下分发传递。 | 1115 | PARAM_HUB | ||
通过监控OSS对象产生来触发下游节点执行。 | 239 | OSS | ||
支持Python2.0和Python3.0语言,并可对语言快速切换,并且支持通过调度配置中的调度参数获取到上游参数以及配置自定义参数进行应用,以及将自身的输出作为参数输出至下游节点中。 | 1322 | PYTHON | ||
用于对上游节点的运行状态进行归并,解决分支节点下游节点的依赖挂载和运行触发问题。 | 1102 | CONTROLLER_JOIN | ||
用于对上游结果进行判断,决定不同结果走不同的分支逻辑,您可结合赋值节点一起使用。 | 1101 | CONTROLLER_BRANCH | ||
用于遍历赋值节点传递的结果集。 | 1106 | CONTROLLER_TRAVERSE | ||
用于循环执行部分节点逻辑,同时您也可结合赋值节点来循环输出赋值节点传递的结果。 | 1103 | CONTROLLER_CYCLE | ||
用于检查目标对象(MaxCompute分区表、FTP文件或OSS文件)是否可用,当Check节点满足检查策略后会返回运行成功状态。若存在下游依赖,便会运行成功并触发下游任务执行。支持检查的目标对象:
| 241 | - | ||
可通过跨租户节点配置进行发送的跨租户节点与进行接收的跨租户节点,满足您对任务跨租户运行的需求。 | 1089 | CROSS | ||
用于周期性调度处理事件函数,并完成与其它类型节点的集成和联合调度。 | 1330 | FUNCTION_COMPUTE | ||
如果您希望其他调度系统的任务完成后触发DataWorks上的任务运行,可以使用此节点。 说明 DataWorks已不再支持新建跨租户节点,如果您使用了跨租户节点,建议更换为HTTP触发器节点,该节点与跨租户节点能力相同。 | 1114 | SCHEDULER_TRIGGER | ||
可通过指定SSH数据源的方式,在DataWorks远程访问该数据源连接的主机,并触发脚本在远程主机执行。 | 1321 | SSH | ||
MySQL节点 | MySQL节点可以进行MySQL任务的开发和周期性调度,以及与其他作业集成操作。 | 1000039 | - | |
SQL Server | SQL Server节点可以进行SQL Server任务的开发和周期性调度,以及与其他作业的集成操作。 | 10001 | - | |
Oracle节点 | Oracle节点可进行Oracle任务的开发和周期性调度,以及与其他作业的集成操作。 | 10002 | - | |
PostgreSQL节点 | PostgreSQL节点可进行PostgreSQL任务的开发和周期性调度,以及与其他作业的集成操作。 | 10003 | - | |
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的容器训练DLC,用于分布式执行训练任务。 | 1119 | PAI_DLC |
创建任务节点
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在左侧导航栏选择数据开发(
)。
创建任务节点。
直接创建任务节点
选择节点。
单击项目目录右侧的
,选择新建节点...,按照以下步骤选择节点类型与节点名称。DataWorks提供多个任务节点,您可根据业务需求选择创建相应节点,详情请参见节点开发。
创建节点。
进入节点对话框,输入节点名称,按Enter键确认创建。
工作流中创建任务节点
创建工作流。
单击项目目录右侧的
,选择新建工作流...,在对话框中输入工作流名称,按Enter键确认创建。
选择节点。
进入新建的工作流编辑页面,选择拖拽您所需创建的节点至画布中。DataWorks提供多个任务节点,您可根据业务需求选择创建相应节点,详情请参见节点开发。
创建节点。
进入节点对话框,输入节点名称,按Enter键确认创建。
二级目录中创建任务节点
创建二级目录。
单击项目目录右侧的
,选择新建目录...,在对话框中输入需要新建的目录名称,按Enter键确认创建。
选择节点。
右键单击新建的目录,在新建节点...里按照以下步骤选择节点任务。DataWorks提供多个任务节点,您可根据业务需求选择创建相应节点,详情请参见节点开发。
创建节点。
进入节点对话框,输入节点名称,按Enter键确认创建。