文档首页/ 数据治理中心 DataArts Studio/ 用户指南/ 数据开发/ Notebook开发/ Notebook任务在数据开发的Pipeline作业进行统一调度应用实践
更新时间:2025-04-28 GMT+08:00

Notebook任务在数据开发的Pipeline作业进行统一调度应用实践

在数据开发的Notebook创建一个Notebook任务后,可以在数据开发的作业开发里面,创建一个批处理的Pipeline作业,再通过Notebook作业算子关联Notebook任务,在数据开发进行统一调度。

创建一个Notebook任务

  1. 在数据开发主界面的左侧导航栏,选择“数据开发 > Notebook”。
  2. 选择状态为“运行中”的Notebook实例。
  3. 单击“打开”按钮进入Notebook的开发界面。
  4. 单击,选择Notebook,新建Notebook文件,新增.ipynb格式的文件,实现新建Notebook。
  5. 进入Notebook开发界面后,输入开发代码并进行调试。
  6. 单击运行按钮,运行代码。
  7. 查看代码运行结果。

将Notebook任务上传到OBS桶

  • 方式一:将Notebook任务先下载到本地,然后上传到OBS桶(OBS桶必须是并行文件桶)
    1. 在JupyterLab文件列表中,选择需要下载的文件,单击右键,在操作菜单中选择“Download”下载至本地。

      下载的目的路径,为您本地浏览器设置的下载目录。

      图1 下载文件
    2. 将本地文件上传到OBS桶。上传的详细操作,请参见上传对象
  • 方式二:将Notebook任务直接上传到OBS桶(OBS桶必须是并行文件桶)

    使用ModelArts SDK接口将目标文件从Notebook上传到OBS。

    • 使用ModelArts SDK接口将Notebook中的文件上传到OBS后进行操作。

      示例代码:将Notebook中的file1.txt文件上传到OBS桶路径obs://bucket-name/dir1/中。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。

      from modelarts.session import Session
      session = Session()
      session.obs.upload_file(src_local_file='/home/ma-user/work/file1.txt', dst_obs_dir='obs://bucket-name/dir1/')
    • 使用ModelArts SDK接口将Notebook中的文件夹上传到OBS。

      示例代码:将Notebook中的文件夹“/work/”上传至“bucket-name”桶的“dir1”文件夹下,路径为“obs://bucket-name/dir1/work/”。其中,桶名称和文件夹的名称均可以按照业务需求自定义。

      from modelarts.session import Session
      session = Session()
      session.obs.upload_dir(src_local_dir='/home/ma-user/work/', dst_obs_dir='obs://bucket-name/dir1/')

通过数据开发统一调度Notebook任务

  1. DataArts Studio控制台首页,选择对应工作空间的“数据开发”模块,进入数据开发页面。
  2. 在数据开发主界面的左侧导航栏,选择数据开发 > 作业开发
  3. 在作业目录中,右键单击目录名称,选择“新建作业”
  4. 创建一个批处理的Pipeline作业,单击“确定”后,进入作业开发界面。
  5. 拖动Notebook作业算子到画布中间。
  6. 单击算子,配置Notebook算子参数。
    请配置如下所示的重要参数,Spark作业名称、DLI队列、Spark版本、输入目录、输入Notebook文件、输出Notebook文件路径、输出Notebook文件名,其他参数根据需要进行配置。
    图2 配置Notebook算子参数
  7. 配置调度方式。
  8. 保存并提交作业版本。
  9. 单击“执行调度”启动作业调度运行。
  10. 在“作业监控”的批作业监控页签里面查看作业运行结果。
    图3 查看批处理作业运行结果