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 支持 Java 和 Python 两类 SDK。
通过 JDBC 方式提交 Spark SQL 时,必须指定 Spark 计算组,Default 计算组不支持通过 JDBC 方式提交作业。使用方式请参考文档:JDBC 使用。
在作业提交后,您也可以在 作业中心 > 作业实例 页面查看所有已提交的作业运行实例详情,包括运行状态、作业类型、资源详情、提交人等。