DLA Serverless Spark目前支持DataWorks和DMS编排调度任务,同时也提供自定义SDK和Spark-Submit工具包供用户自定义编排调度。本文将介绍如何使用DMS来编排调度Spark任务。
前提条件
- 您已开通DMS服务。
- 您已开通云原生数据湖分析服务,详情请参见开通云原生数据湖分析服务
- 您已开通OSS服务,详情请参见开通OSS服务。
- 您已创建DLA Spark虚拟集群,详情请参见创建虚拟集群。
说明 如果您想用RAM用户提交Spark作业,且之前未使用过RAM用户在DLA控制台提交作业,您可以参见细粒度配置RAM子账号权限进行子账号提交作业配置。
操作步骤
任务调度中一个重要的功能是任务之间的依赖,为演示这个功能,本文会在DMS中创建一个DLA Serverless Spark任务和两个 DLA Spark SQL任务,任务之间的依赖关系如下图所示,任务DLA Spark SQL-1和DLA Spark SQL-2 依赖上游任务完成之后,才能执行。
- 登录DMS控制台。
- 在顶部菜单栏中,单击 。
- 在任务编排页面的自由编排任务区域,单击新增任务流。
- 在新建任务流对话框,将任务流名称设置为spark_demo,将描述设置为spark demo,完成后单击确认。
- 在任务编排页面,从左侧任务类型中拖拽一个DLA Serverless Spark任务和两个DLA Spark SQL任务,并按照下图中的依赖关系进行连线。
- 依次单击3个节点,在每个节点的右侧面板中选中内容设置页签,并配置以下信息:
- 在地域列表中,选择目标Spark集群所在的地域。
- 在Spark 集群列表中,选择目标Spark集群。
- 在作业配置文本框中已有运行内置Sparkpi的配置参数或者
show databases
,如果您需要运行自定义作业,可根据您的需求进行修改。
- 完成以上配置后,单击保存按钮,然后单击页面左上方的试运行或指定时间运行或指定时间范围运行任务。
- 您也可以在点击任务编排界面的空白界面,进行整个任务的调度设置。
查看任务日志
- 点击任务编排界面,左侧的运维中心。
- 单击对应任务左侧的加号按钮,即可看到任务流的所有任务,点击子任务的查看按钮,即可查看运行日志。
- 从日志中可以查看该作业的JobId和对应的SparkUI, 如果任务出错,无法排查,请记下JobId和SparkUI联系Spark值班。
自定义任务编排调度
DLA Serverless Spark除了上述调度集成之外,还提供了SDK以及Spark-Submit工具用于提交Spark作业、查询作业状态、获取作业日志等功能,详情请参见:
您可以利用上述工具,使用第三方任务编排调度系统(例如Apache Airflow)来打造自己的工作流。