Python Activity 用于在 Pipeline 中执行 Workspace 中已有的 Python 文件。您可以先在文件开发页编写和调试 .py 脚本,再将脚本加入 Pipeline,配置正式运行所需的资源、参数和依赖关系。
Python Activity 适合通用数据处理、业务规则计算、文件处理及已有 Python 脚本的自动化编排。一次执行会在所选计算资源组中启动一个 Python 进程。
Python Activity 暂不提供 EMR 队列或 Spark 参数配置。需要 PySpark、交互式多 Cell 开发或 Notebook 能力时,请使用 Notebook。选择 Python 文件不会自动获得 EMR 网络连通性或数据访问权限。
.py 文件,并具备文件查看和使用权限。.py 文件,编写脚本。.py 文件。说明
配置项 | 必填 | 说明 |
|---|---|---|
节点名称 | 是 | 在当前 Pipeline 中唯一,建议按业务动作命名,例如 |
描述 | 否 | 说明脚本用途。 |
文件路径 | 是 | 选择 Workspace 中的 .py 文件。Activity 中不直接编辑内联代码。 |
计算资源组 | 是 | 承载脚本执行;网络与私有镜像凭证由资源组提供。 |
镜像地址 | 否 | 填写脚本运行所需的镜像地址。Python 版本由镜像决定,当前支持 Python 3.7 和 Python 3.12,具体以页面可选项为准。 |
资源配置 | 是 | 按 CU 选择资源规格,1 CU 对应 1 Core、4 GB 内存。可用规格以所选计算资源组为准。 |
依赖包 | 否 | 填写脚本所需的 Python 包及版本,例如 |
启动参数 | 否 | 填写传给脚本的启动参数。该参数可在脚本中读取。 |
环境变量 | 否 | 配置脚本运行所需的环境变量,每行填写一个 |
产出数据登记 | 否 | 声明脚本写入的数据集,供数据血缘与运维检索使用。登记不会自动建表或授予写权限。 |
运行策略 | 否 | 配置失败重试、重试间隔、单次执行超时及超时后是否重试。 |
依赖资源 | 否 | 从 Workspace 选择脚本运行所需的依赖文件。 |
说明
正式执行前,请核对 Activity 中的文件路径、镜像地址、资源配置、启动参数、环境变量和依赖资源。当前配置页不提供独立的工作目录配置项。
以下是 Activity 的基础结构节选。计算资源组、镜像、资源、参数和依赖配置请先通过界面配置,并以界面生成的 YAML 为准;本节选不能直接作为完整发布配置。
activities: - name: clean_orders type: python source: WORKSPACE path: /Workspace/Users/demo/scripts/clean_orders.py kernelType: python_kubernetes position: x: "200" y: "100"
Python Activity 支持通过有序参数向脚本传值。以脚本 clean_orders.py 为例:
import argparse import json from datetime import datetime parser = argparse.ArgumentParser() parser.add_argument("--biz-date", required=True) args = parser.parse_args() datetime.strptime(args.biz_date, "%Y%m%d") # 在这里添加实际处理逻辑。 print(json.dumps({"biz_date": args.biz_date, "validation": "passed"}))
在 Activity 参数中按顺序配置:
顺序 | 值 |
|---|---|
1 |
|
2 |
|
说明
argparse 读取参数。参数值可以来自常量、Pipeline 参数、系统变量或有依赖关系的上游 Output,建议通过参数选择器插入引用。print 输出需要检查的日志信息。注意
如果脚本打印的是 JSON,系统仍会将其作为标准输出文本展示,不会自动解析为可直接引用的业务字段。
问题 | 排查方法 |
|---|---|
| 检查运行镜像、依赖文件及依赖准备日志;确认包与镜像中的 Python 版本兼容。 |
文件不存在或相对路径报错 | 检查脚本路径、正式版本及工作目录;确认所需文件存在且运行身份有权限。 |
本地调试成功,Pipeline 失败 | 对比文件调试与 Activity 的镜像、资源、参数、依赖及正式运行身份。 |
无法访问 EMR 数据 | 分别检查计算资源组的网络和数据访问权限;PySpark 场景使用 Notebook。 |
打印 JSON 后下游取不到字段 | 检查该版本的 Output 采集说明;打印日志不等于完成结构化 Output 配置。 |
执行超时或资源不足 | 检查日志和资源使用情况,调整 CPU、内存或超时;同时检查重试是否会重复写入数据。 |