更新时间:2026-08-05 GMT+08:00
创建自定义数据处理作业
本节介绍如何使用自定义数据处理作业,用户可参考创建数据处理任务。
运行自定义作业时,重点关注两个环境变量:
- SOURCE_DATASET_PATH:容器内挂载数据集路径,例如:{"dataset-1":"/tmp/source/dataset/1"}
- TARGET_DATASET_PATH:容器内产物存储路径,请将数据处理的产物保存到该环境变量对应的目录下,例如:/tmp/target/dataset。
前提条件
- 已上传数据到空间资产或OBS存储。
- 已上传自定义镜像到空间资产。
- 根据自定义镜像创建自定义算法。
操作步骤
参考创建数据处理任务,在选择“处理算法”时选择“空间资产-算法”或“OBS算法”,其余步骤无差异。
单容器作业示例
- 制作镜像。 创建一个Dockerfile_HelloWorld文件。
# 拉取 Python 基础镜像 FROM python:3.11-slim # 设置容器内的工作目录 WORKDIR /app # 将当前目录下的脚本复制到容器的工作目录中 COPY hello_world.py /app # 指定容器启动时执行的命令 ENTRYPOINT ["python", "/app/hello_world.py"]
上面的hello_world.py脚本参考:import os print("hello_world") print(os.getenv("SOURCE_DATASET_PATH")) print(os.getenv("TARGET_DATASET_PATH")) - 将上述镜像上传到SWR平台后,先根据注册镜像操作,例如hello_world:1.0,然后再根据创建算法操作。启动命令设置为python hello_world.py。
- 创建任务,在算法栏选择“空间资产-算法”并选择步骤2创建的算法资产。

- 创建任务后,在详情可查看用户日志。

分布式作业示例
平台分布式作业内部使用Ray作为引擎,用户可提交编排好的Ray作业流程在启动脚本中,适用于批处理任务、AI模型训练与评估等分布式任务。
- 基于本地开发者环境,制作作业镜像。
FROM rayproject/ray:latest # ray作业默认健康检查会调用curl命令检查当前容器内ray进程状态,需要安装curl命令 USER root RUN apt update -y && apt install -y curl USER ray COPY cal.py /home/ray WORKDIR /home/ray
上述dockerfile中的参考脚本cal.py:import os import ray import socket import time # 1. 连接到 Ray 集群(如果在集群节点上运行,可省略 address) ray.init() # 2. 定义一个分布式远程函数 (Task) @ray.remote def square(x): return x * x @ray.remote def summary(x): print(x) time.sleep(30) print(socket.gethostname()) print(os.getenv("SOURCE_DATASET_PATH")) print(os.getenv("TARGET_DATASET_PATH")) # 3. 并行执行任务 futures = [square.remote(i) for i in range(10)] # 4. 获取结果 results = ray.get(futures) print("计算结果:", results) # 5. 并行任务2:打印host信息和数据集挂载信息 futures = [summary.remote(i) for i in range(10)] results = ray.get(futures) # 6. 断开连接 ray.shutdown() - 在空间资产-镜像页面,注册上述构建的镜像,具体操作可参照注册自定义镜像。
- 在空间资产-算法页面,单击“创建算法”,选择步骤2中创建的“空间资产镜像”,具体操作可参照创建自定义算法,启动命令可参照具体应用场景,在该示例场景下填写python cal.py。
- 在数据准备-数据处理页面,单击“创建任务”,选择 步骤3中创建的空间资产-算法,添加数据集输入。作业类型选择分布式作业。配置资源规格,当选择2个worker及以上时会将作业分发到不同的作业节点。选择输出数据集名称或OBS存储位置,单击“立即创建”提交作业。
- 单击步骤4中创建的数据处理任务,进入任务详情页,再切换到日志页,可观察运行过程中日志信息。用户可参考当前示例或Ray官方文档编排数据处理作业,将任务调度到不同节点上运行。

父主题: 数据处理