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 任务配置完成后,在右侧导航栏中,单击调度配置按钮,进入调度配置窗口,您可以在此设置任务基本信息、调度属性、依赖等信息,详细参数设置详见:调度设置。
注意
选择使用项目模板的任务,模板中配置的内容可覆盖任务原配置,且模版配置内容在任务中不可进行修改,若需要修改模板参数,您需前往项目控制台 > 模板管理进行修改,该操作会对所有使用该模板的任务生效,需谨慎操作。
任务产出数据登记,用于记录任务、数据血缘信息,并不会对代码逻辑造成影响。您可在调度设置 > 任务产出数据登记一栏中,设置产出登记相关信息。
对于系统无法通过解析获取产出信息的其他任务,EMR Serverless Spark SQL 任务可自动或手动方式登记其产出信息。如果任务含有 LAS Formation 库表数据的产出,则强烈建议填写,以便后续维护任务数据血缘关系。
自动登记:
任务产出数据使用“自动登记”模式,则任务每次上线时,系统将根据代码解析结果自动进行更新。您可单击查看“线上版本”的产出数据、查看“草稿版本”的产出数据按钮,查看当前任务不同版本下的产出数据自动登记结果。
注意
选择自动登记时,若 SQL 代码查询的字段名中包含 SQL 关键字,则需对其进行转义操作,即添加转义符号,如将 group 转义为 group
、order 转义为 order
等。若不进行转义,将会影响后续数据地图中的数据血缘图谱、表生产信息等内容展现,或者您也可通过下方的手动登记方式,进行手动登记任务产出数据。
手动登记:
您手动填写的内容即为任务产出,支持填写多个。其他任务依赖时,您可在其调度设置界面,通过依赖推荐或手动添加的方式,依据此处 EMR Serverless Spark SQL 任务产出的库表名信息来搜索添加依赖。 具体登记内容包括以下数据类型:
代码逻辑和参数配置完成后,您可以在界面进行调试操作。
编辑器上方,单击保存按钮后,再单击调试按钮,开始运行任务。
注意
调试任务开始运行后,可在下方查看调试记录:
在调试记录左侧,您可通过选择调试状态,筛选出不同调试状态下的历史运行记录。
单击调试记录,在调试记录右侧,可以查看运行记录的日志、结果等详细信息:
调试任务成功后,单击上方操作栏中的保存和提交上线按钮,在提交上线对话框中,选择回溯数据、监控设置、提交设置等参数,最后单击确认按钮,完成作业提交。 提交上线说明详见:数据开发概述---离线任务提交。
注意
如果租户主账号或项目管理员在项目控制台>流水线管理中启用了流水线流程校验,则您需要确保提交的任务符合流水线扩展程序的校验规则,才能成功提交。详见4 流水线管理。
后续任务运维操作详见:离线任务运维。