Spark SQL可实现分布式SQL查询引擎处理结构化数据,提高作业的执行效率。DataWorks的CDH Spark SQL节点可进行CDH Spark SQL任务的开发和周期性调度,以及与其他作业的集成操作。本文为您介绍如何配置及使用CDH Spark SQL节点。
前提条件
已创建阿里云CDH集群,并绑定至DataWorks工作空间。操作详情请参见新版数据开发:绑定CDH计算资源。
重要已在CDH集群安装Spark组件,并在绑定集群时配置Spark相关信息。
(可选,RAM账号需要)进行任务开发的RAM账号已被添加至对应工作空间中,并具有开发或空间管理员(权限较大,谨慎添加)角色权限,添加成员的操作详情请参见为工作空间添加空间成员。
说明如果您使用的是主账号,则可忽略该添加操作。
已在DataWorks配置Hive数据源并通过连通性测试,详情请参见数据源管理。
新建节点
新建入口参考:创建节点。
开发节点
在SQL编辑区域开发任务代码,您可在代码中使用${变量名}的方式定义变量,并在节点编辑页面右侧调度配置的调度参数中为该变量赋值。实现调度场景下代码的动态传参,调度参数使用详情,请参考调度参数支持格式,示例如下。
CREATE TABLE IF NOT EXISTS test_spark.test_lineage_table_f1 (`id` BIGINT, `name` STRING)
PARTITIONED BY (`ds` STRING);
CREATE TABLE IF NOT EXISTS test_spark.test_lineage_table_t2 AS SELECT * FROM test_spark.test_lineage_table_f1;
INSERT INTO test_spark.test_lineage_table_t2 SELECT id,${var} FROM test_spark.test_lineage_table_f1;示例在
test_spark数据库中创建test_lineage_table_f1、test_lineage_table_t2表,并且从test_lineage_table_f1表向test_lineage_table_t2表复制数据,本示例仅为参考,实际使用时请替换为您自己的数据库环境。代码中的
${var}参数赋值为字段name。
调试节点
在调试配置的计算资源中,选择配置计算资源和资源组。
计算资源选择您在DataWorks上注册的CDH集群名称。
资源组选择与数据源测试连通性成功的调度资源组。详情请参见网络连通方案。
在节点编辑页面上方工具栏,单击运行任务。
图标唤起发布流程,通过该流程将任务发布至生产环境。项目目录下的节点只有在发布至生产环境后,才会进行周期性调度。