EMR Serverless Spark 是火山引擎 E-MapReduce(EMR)框架下 Serverless 形态的数据产品,提供开箱即用,完全兼容开源的 Spark 引擎能力。
DataLeap 支持对接 EMR Serverless Spark 实例,通过编写 Spark SQL 的方式,在 DataLeap 数据开发中进行 SQL 作业开发,完成 Spark SQL 的解析与任务提交,实现定制化数据加工、查询分析需求。支持 Serverless 全托管能力,开箱即用,无需额外集群管理,EMR Serverless Spark 语法 100% 兼容开源 Spark 3.5.1 版本,详细语法可参考:Spark 3.5.1 语法。
下面将向您介绍 DataLeap 中 EMR Serverless Spark SQL 任务配置的详细说明。
注意
在项目控制台管理界面中,如果新增或修改了引擎,那么在数据开发任务新建窗口中,需刷新整个 DataLeap 数据开发界面,才能看到新增或修改后的引擎任务类型。
任务创建成功后,进入代码编辑器界面,以 SQL 语句示例代码如下:
说明
--创建数据库,指定自定义 TOS 桶路径进行存储,您需确保该 TOS 桶存在,并且当前用户有该桶路径的读写权限。 create database db_demo location 'tos://您的tos bucket name/warehouse/'; --建表 CREATE TABLE db_demo.table_01 (`id` INT, `name` STRING, `age` INT) PARTITIONED BY(date STRING); --插入数据 INSERT INTO TABLE db_demo.table_01 PARTITION (date = '20240403') VALUES(1, 'testyw', 26), (2, '章三', 26), (3, '李四', 23), (4, '王五', 24), (5, '刘六', 23), (6, '方园', 88); --查数 SELECT * FROM db_demo.table_01;
功能名称 | 描述 |
---|---|
格式化 | 依据在个性化设置中的SQL格式化风格的设置,格式化书写的代码,使其语法结构看起来简洁明了。 |
解析 | 解析检查书写的 SQL 代码的语法和语义正确性,运行前检查语法错误信息,防止运行出错。 注意 如果任务在调度设置 > 输入参数中使用项目参数类型,且参数设置勾选了加密选项,当非项目管理员操作任务解析时,由于解析不到加密参数会提示异常。此时若确保 SQL 符合执行逻辑,则您可跳过该解析异常提示。 |
执行引擎 | 默认支持选择 Spark 引擎。 |
SQL 任务配置完成后,在右侧导航栏中,单击调度配置按钮,进入调度配置窗口,您可以在此设置任务基本信息、调度属性、依赖等信息,详细参数设置详见:调度设置。
其中在调度基本信息 > 计算队列选择时,您可下拉选择项目控制台中已绑定的 Spark 计算队列,SQL 任务支持选择公共队列、 SQL 专用资源或通用资源队列,来执行 EMR Serverless Spark SQL 任务。
更多计算队列操作详见队列管理。
任务产出数据登记,用于记录任务、数据血缘信息,并不会对代码逻辑造成影响。您可在调度设置 > 任务产出数据登记一栏中,设置产出登记相关信息。
对于系统无法通过解析获取产出信息的其他任务,EMR Serverless Spark SQL 任务可自动或手动方式登记其产出信息。如果任务含有 LAS Formation 库表数据的产出,则强烈建议填写,以便后续维护任务数据血缘关系。
代码逻辑和参数配置完成后,您可以在界面进行调试操作。
编辑器上方,单击保存按钮后,再单击调试按钮,开始运行任务。
注意
调试任务开始运行后,可在下方查看调试记录:
调试任务成功后,单击上方操作栏中的保存和提交上线按钮,在提交上线对话框中,选择回溯数据、监控设置、提交设置等参数,最后单击确认按钮,完成作业提交。 提交上线说明详见:数据开发概述---离线任务提交。
注意
如果租户主账号或项目管理员在项目控制台>流水线管理中启用了流水线流程校验,则您需要确保提交的任务符合流水线扩展程序的校验规则,才能成功提交。详见4 流水线管理。
后续任务运维操作详见:离线任务运维。