DataWorks的ADB Spark SQL节点可进行AnalyticDB Spark SQL任务的开发和周期性调度,以及与其他作业的集成操作。本文为您介绍使用ADB Spark SQL节点进行任务开发的主要流程。
背景信息
AnalyticDB for MySQL Serverless Spark是AnalyticDB for MySQL团队基于Apache Spark打造的服务化的大数据分析与计算服务,AnalyticDB MySQL版Spark支持在AnalyticDB控制台直接提交Spark SQL便于数据开发人员使用Spark进行数据分析。当您在DataWorks将AnalyticDB for MySQL Serverless Spark绑定计算资源后,您便可在DataWorks上通过开发AnalyticDB Spark SQL节点使用AnalyticDB for MySQL版Spark计算服务执行Spark SQL任务,详情请参见Spark SQL开发介绍。
前提条件
AnalyticDB for MySQL前提条件:
已创建与工作空间同一地域下的AnalyticDB for MySQL企业版、湖仓版或基础版集群,详情请参见创建集群。
已在AnalyticDB for MySQL集群中新建引擎为Spark类型的Interactive型资源组,用于在通过DataWorks执行Spark SQL任务,详情请参见新建Interactive型资源组。
如需在ADB Spark SQL节点中使用OSS存储,须确保OSS存储与AnalyticDB for MySQL集群处于相同地域。
DataWorks前提条件:
已有勾选参加数据开发(DataStudio)(新版)公测的工作空间,并已完成资源组的绑定,详情请参见创建工作空间。
资源组需要绑定与AnalyticDB for MySQL集群同一个VPC,并在AnalyticDB for MySQL集群中配置资源组IP地址白名单,详情请参见设置白名单。
您需将创建的AnalyticDB for MySQL集群实例添加到DataWorks作为计算资源,计算资源类型为AnalyticDB for Spark,并通过资源组测试连通性,详情请参见绑定计算资源(参加新版数据开发公测)。
已开发创建项目目录,详情请参见项目目录。
已创建ADB Spark SQL节点,详情请参见创建任务节点。
步骤一:开发ADB Spark SQL节点
创建外部库。
在ADB Spark SQL节点编辑页面开发SQL代码。以下以在ADB Spark SQL节点中创建外部数据库为例,如您需要创建内表请参考 Spark SQL创建内表。
CREATE DATABASE IF NOT EXISTS `adb_spark_db` location 'oss://dw-1127/db_home';
ADB Spark SQL节点开发。
在SQL编辑区域开发任务代码,您可在代码中使用${变量名}的方式定义变量,并在节点编辑页面右侧调度配置的调度参数中为该变量赋值。实现调度场景下代码的动态传参,调度参数使用详情,请参考调度参数支持格式,示例如下。
CREATE TABLE IF NOT EXISTS adb_spark_db.tb_order_${var}(id int, name string, age int) USING parquet location 'oss://dw-1127/db_home/tb1' tblproperties ('parquet.compress'='SNAPPY'); CREATE TABLE IF NOT EXISTS adb_spark_db.tb_order_result_${var}(id int, name string, age int) USING parquet location 'oss://dw-1127/db_home/tb2' tblproperties ('parquet.compress'='SNAPPY'); INSERT INTO adb_spark_db.tb_order_result_${var} SELECT * FROM adb_spark_db.tb_order_${var};
说明示例中的变量参数
${var}
可设置为$[yyyymmdd]
,通过设置该参数可以实现对每日新增数据的批量同步处理。
步骤二:调试ADB Spark SQL节点
配置ADB Spark SQL调试属性。
您可在节点右侧调试配置中配置计算资源、ADB计算资源组、调度资源组及计算CU参数信息,详情请参见以下信息。
参数类型
参数名称
描述
计算资源
计算资源
选择您所绑定的AnalyticDB for Spark计算资源。
ADB计算资源组
选择您在AnalyticDB for MySQL集群中配置新建的Interactive型资源组。详情请参见新建和管理资源组。
说明Interactive型资源组引擎需要选择Spark类型。
DataWorks配置
调度资源组
选择您绑定AnalyticDB for Spark计算资源时已通过测试连通性的资源组。
计算CU
当前节点使用默认CU值,无需修改CU。
调试运行ADB Spark SQL节点。
执行节点任务,您需单击保存并运行节点任务。
步骤三:调度ADB Spark SQL节点
配置ADB Spark SQL节点调度属性。
如需定期执行节点任务,请根据业务需求在节点右侧调度配置的调度策略配置以下参数信息,更多参数配置,详情请参见调度配置。
参数名称
描述
计算资源
选择您所绑定的AnalyticDB for Spark计算资源。
ADB计算资源组
选择您在AnalyticDB for MySQL集群中配置新建的Interactive型资源组。详情请参见新建和管理资源组。
说明Interactive型资源组引擎需要选择Spark类型。
调度资源组
选择您绑定AnalyticDB for Spark计算资源时已通过测试连通性的资源组。
计算CU
当前节点使用默认CU值,无需修改CU。
发布ADB Spark SQL节点。
节点任务配置完成后,需对节点进行发布。详情请参见节点发布。
后续步骤
任务发布后,您可以在运维中心查看周期任务的运行情况。详情请参见运维中心入门。