DolphinScheduler调度Spark
DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统,能高效地执行和管理大数据流程。您可以在DolphinScheduler Web界面轻松创建、编辑和调度云原生数据仓库 AnalyticDB MySQL 版的Spark作业。
前提条件
AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版。
AnalyticDB for MySQL集群中已创建Job型资源组或Spark引擎的Interactive型资源组。
已安装JDK,且JDK的版本为1.8及以上版本。
已将运行DolphinScheduler的服务器IP地址添加至AnalyticDB for MySQL集群的白名单中。
调度Spark SQL作业
AnalyticDB for MySQL支持使用批处理和交互式两种方法执行Spark SQL。选择的执行方式不同,调度的操作步骤也有所不同。详细步骤如下:
批处理
- 说明
您只需要配置
keyId
、secretId
、regionId
、clusterId
和rgName
这些必填参数。 创建项目。
访问DolphinScheduler Web界面,在顶部导航栏单击项目管理。
单击创建项目。
在弹出的创建项目对话框中配置项目名称、所属用户等参数。
创建工作流。
单击已创建的项目名称,进入工作流定义页面。
单击创建工作流,进入工作流DAG编辑页面。
在页面左侧选择SHELL,并将其拖拽到右侧空白画布中。
在弹出的当前节点设置对话框中配置如下参数:
参数
说明
节点名称
工作流节点的名称。
脚本
Spark-Submit命令行工具的安装地址及Spark SQL作业的业务代码。例如:
/root/adb-spark-toolkit-submit/bin/spark-submit --class com.aliyun.adb.spark.sql.OfflineSqlTemplate local:///opt/spark/jars/offline-sql.jar "show databases" "select 100"
重要使用Spark-Submit命令行工具调度Spark作业时,必须要在脚本中指定Spark-Submit命令行工具的地址,否则调度任务无法找到Spark-Submit命令。
说明其他参数说明请参见DolphinScheduler任务参数。
单击确认。
单击页面右上角保存,在弹出的基本信息对话框中配置工作流名称等参数,单击确定。
运行工作流。
单击工作流操作列的
按钮,上线工作流。
单击工作流操作列的
按钮。
在弹出的启动前请先设置参数对话框中,配置对应参数。
单击确定,运行工作流。
查看工作流详细信息。
在左侧导航栏单击任务实例。
在操作列,单击
按钮,查看工作流执行结果和日志信息。
交互式
获取Spark Interactive型资源组的连接地址。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。
在左侧导航栏,单击,单击资源组管理页签。
单击对应资源组操作列的详情,查看内网连接地址和公网连接地址。您可单击端口号括号内的
按钮,复制连接地址。
以下两种情况,您需要单击公网地址后的申请网络,手动申请公网连接地址。
提交Spark SQL作业的客户端工具部署在本地。
提交Spark SQL作业的客户端工具部署在ECS上,且ECS与AnalyticDB for MySQL不属于同一VPC。
创建数据源。
访问DolphinScheduler Web界面,在顶部导航栏单击数据源中心。
单击创建数据源,选择数据源类型为Spark。
在弹出的创建数据源对话框中配置如下参数:
参数
说明
数据源
选择为Spark。
源名称
数据源名称。
IP主机名
请填写步骤1中获取的连接地址。连接地址中的
default
需替换为实际的数据库名,并且需要删除连接地址中的resource_group=<资源组名称>
后缀。例如:
jdbc:hive2://amv-t4naxpqk****sparkwho.ads.aliyuncs.com:10000/adb_demo
。端口
Spark Interactive型资源组的端口号,固定为10000。
用户名
AnalyticDB for MySQL的数据库账号。
数据库名
AnalyticDB for MySQL集群的数据库名称。
说明其他参数为选填参数,详情请参见MySQL数据源。
单击测试连接,测试成功后,单击确定。
创建项目。
访问DolphinScheduler Web界面,在顶部导航栏单击项目管理。
单击创建项目。
在弹出的创建项目对话框中配置项目名称、所属用户等参数。
创建工作流。
单击已创建的项目名称,进入工作流定义页面。
单击创建工作流,进入工作流DAG编辑页面。
在页面左侧选择SQL,并将其拖拽到右侧空白画布中。
在弹出的当前节点设置对话框中配置如下参数:
参数
说明
数据源类型
选择为Spark。
数据源实例
选择步骤1创建的数据源。
SQL类型
SQL作业的类型,例如查询、非查询。
SQL语句
业务具体的SQL语句。
单击确认。
单击页面右上角保存,在弹出的基本信息对话框中配置工作流名称等参数,单击确定。
运行工作流。
单击工作流操作列的
按钮,上线工作流。
单击工作流操作列的
按钮。
在弹出的启动前请先设置参数对话框中,配置对应参数。
单击确定,运行工作流。
查看工作流详细信息。
在左侧导航栏单击任务实例。
在操作列,单击
按钮,查看工作流执行结果和日志信息。
调度Spark Jar作业
- 说明
您只需要配置
keyId
、secretId
、regionId
、clusterId
和rgName
这些必填参数。如果您的Spark Jar包在本地,还需要配置ossUploadPath
等OSS相关参数。 创建项目。
访问DolphinScheduler Web界面,在顶部导航栏单击项目管理。
单击创建项目。
在弹出的创建项目对话框中配置项目名称、所属用户等参数。
创建工作流。
单击已创建的项目名称,进入工作流定义页面。
单击创建工作流,进入工作流DAG编辑页面。
在页面左侧选择SHELL,并将其拖拽到右侧空白画布中。
在弹出的当前节点设置对话框中配置如下参数:
参数
说明
节点名称
工作流节点的名称。
脚本
Spark-Submit命令行工具的安装地址及Spark作业的业务代码。例如:
/root/adb-spark-toolkit-submit/bin/spark-submit --class org.apache.spark.examples.SparkPi --name SparkPi --conf spark.driver.resourceSpec=medium --conf spark.executor.instances=2 --conf spark.executor.resourceSpec=medium local:///tmp/spark-examples.jar 1000
。重要使用Spark-Submit命令行工具调度Spark作业时,必须要在脚本中指定Spark-Submit命令行工具的地址,否则调度任务无法找到Spark-Submit命令。
说明其他参数说明请参见DolphinScheduler任务参数。
单击确认。
单击页面右上角保存,在弹出的基本信息对话框中配置工作流名称等参数,单击确定。
运行工作流。
单击工作流操作列的
按钮,上线工作流。
单击工作流操作列的
按钮。
在弹出的启动前请先设置参数对话框中,配置对应参数。
单击确定,运行工作流。
查看工作流详细信息。
在左侧导航栏单击任务实例。
在操作列,单击
按钮,查看工作流执行结果和日志信息。