DLA Serverless Spark目前支持DataWorks和DMS编排调度任务,同时也提供自定义SDK和Spark-Submit工具包供用户自定义编排调度。本文将介绍如何使用DMS来编排调度Spark任务。

前提条件

说明 如果您想用RAM用户提交Spark作业,且之前未使用过RAM用户在DLA控制台提交作业,您可以参见细粒度配置RAM子账号权限进行子账号提交作业配置。

操作步骤

任务调度中一个重要的功能是任务之间的依赖,为演示这个功能,本文会在DMS中创建一个DLA Serverless Spark任务和两个 DLA Spark SQL任务,任务之间的依赖关系如下图所示,任务DLA Spark SQL-1DLA Spark SQL-2 依赖上游任务完成之后,才能执行。1
  1. 登录DMS控制台
  2. 在顶部菜单栏中,单击数据工厂 > 任务编排
  3. 任务编排页面的自由编排任务区域,单击新增任务流newflow
  4. 新建任务流对话框,将任务流名称设置为spark_demo,将描述设置为spark demo,完成后单击确认
  5. 任务编排页面,从左侧任务类型中拖拽一个DLA Serverless Spark任务和两个DLA Spark SQL任务,并按照下图中的依赖关系进行连线。4
  6. 依次单击3个节点,在每个节点的右侧面板中选中内容设置页签,并配置以下信息:
    • 地域列表中,选择目标Spark集群所在的地域。
    • Spark 集群列表中,选择目标Spark集群。
    • 作业配置文本框中已有运行内置Sparkpi的配置参数或者show databases,如果您需要运行自定义作业,可根据您的需求进行修改。
    配置DMS
  7. 完成以上配置后,单击保存按钮,然后单击页面左上方的试运行指定时间运行指定时间范围运行任务。5
  8. 您也可以在点击任务编排界面的空白界面,进行整个任务的调度设置。222

查看任务日志

  1. 点击任务编排界面,左侧的运维中心运维中心
  2. 单击对应任务左侧的加号按钮,即可看到任务流的所有任务,点击子任务的查看按钮,即可查看运行日志。查看日志
  3. 从日志中可以查看该作业的JobId和对应的SparkUI, 如果任务出错,无法排查,请记下JobId和SparkUI联系Spark值班。

自定义任务编排调度

DLA Serverless Spark除了上述调度集成之外,还提供了SDK以及Spark-Submit工具用于提交Spark作业、查询作业状态、获取作业日志等功能,详情请参见:

您可以利用上述工具,使用第三方任务编排调度系统(例如Apache Airflow)来打造自己的工作流。