You need to enable JavaScript to run this app.
E-MapReduce

E-MapReduce

复制全文
Serverless Spark 作业
SparkSQL 作业
复制全文
SparkSQL 作业

EMR Serverless 支持用户提交 SparkSQL 作业,适用于交互式数据查询、ETL任务和报表生成等场景。本文将介绍通过控制台、SDK 及 JDBC 等多种方式提交 SparkSQL 作业的操作步骤。

背景信息

EMR Serverless Spark 支持如下两种 SparkSQL 作业。

对比项

普通 SparkSQL 作业

预拉起 SparkSQL 作业

作业类型定义

使用公共队列或独占队列中的 Default 计算组时,您提交任务,会临时给您拉起一个独享的 SparkSQL 作业,您可以定制化的设置 SparkSQL 任务中,Driver/Executor 所用的 CPU/Memory 等参数。

当您使用独占队列中的 Spark SQL Warehouse 计算组时,该计算组存在 SQL 专用资源,使用该计算组提交 SparkSQL 作业,即可提交到专属的预拉起服务上,享受低 overhead、低延迟等特性,无需申请临时资源,作业最快可以在秒级完成。在 SQL 专用资源紧张时,EMR Serverless Spark 还可以自动复用计算组中的弹性资源,实现任务资源弹性。

说明

因为计算组为预拉起,所以 SQL 中设置的 Driver/Exeutor CPU/Memory 无法生效,如果有定制化的集群规格需求,请提工单联系火山引擎技术人员。

Spark语法支持

EMR Serverless 语法 100%兼容开源 Spark 3.5.1 版本,详细语法可参考:Spark 3.5.1 语法

作业提交方式

您可通过 EMR Serverless 控制台、SDK 及 JDBC 等多种方式完成 SparkSQL 的解析与任务提交,开箱即用,无需额外的集群管理。

前提条件
  • 已创建 EMR Serverless 队列,且拥有该计算组的 Developer/Admin 权限,操作详情请参见:创建资源队列队列权限
  • 已创建计算组,当前支持使用通用计算组、 Spark SQL 计算组,操作详情请参见创建与管理计算组

提交 SparkSQL作业

提交作业:通过控制台

  1. 登录 EMR Serverless 控制台,在左侧导航栏单击 资源管理>Serverless,单击待创建任务的Serverless队列资源,进入队列资源详情页面。
  2. 在队列详情页面的右上角单击SQL编辑器,进入SQL任务编辑页面。
    Image
  3. 在作业编辑页面进行元数据库表选择、资源设置,完成后可在编辑作业区域编辑SQL作业。
    Image
  4. 在作业编辑框中进行 SparkSQL 作业的编辑,编辑完成后,可通过编辑框左下角的格式化按钮,对编辑中的作业进行规范化。
  5. 完成 SQL 作业编辑后,您可以通过控制台右上角的队列计算组来选择计算资源,完成后点击左下角的运行按钮,提交作业。
  6. 作业提交完成后,会弹出提交成功的标识;任务执行成功后,则会为您显示当前查询的结果,并在下方的查询日志中,会显示您本次提交的作业id,以及当前的任务状态,您可进一步在作业管理处查看详细任务情况。
    Image

    说明

    • 任务提交至 EMR Serverless 集群后,则会在查询日志中显示 Spark Web UI,你可点击打开链接,在 Web UI 详细查看当前任务的执行情况。
    • 控制台支持下载查询日志、查询结果及查询代码,文件默认以 csv 格式存储。
    • 控制台还可以在查询结果页签,点击放大镜按钮,输入关键字,搜索结果中的关键信息。
    • 历史记录页签中,可以查看当前队列历史作业的结果以及代码等。
    • 如果 SQL 存在问题,则会解析失败,并提示错误原因。常见解析失败原因详见:常见问题

提交作业:通过 SDK 提交

目前 EMR Serverless 支持 Java 和 Python 两类 SDK。

提交作业:通过 JDBC 提交

通过 JDBC 方式提交 Spark SQL 时,必须指定 Spark 计算组,Default 计算组不支持通过 JDBC 方式提交作业。使用方式请参考文档:JDBC 使用

查看与诊断作业实例

在作业提交后,您也可以在 作业中心 > 作业实例 页面查看所有已提交的作业运行实例详情,包括运行状态、作业类型、资源详情、提交人等。
Image

  • 您可以在页面顶部通过实践范围、提交人等过滤条件快速筛选出待查看的作业实例,查看作业实例详情。
  • 对于运行失败的作业,您可单击“日志”,查看作业运行详细日志,进行作业失败原因定位;您也可以使用 “AI 诊断” 功能,进行作业智能诊断。
最近更新时间:2026.02.09 18:26:30
这个页面对您有帮助吗?
有用
有用
无用
无用