Spark 集群是 EMR Serverless Spark 的常驻集群模式。集群启动后持续运行,任务可直接提交至运行中的集群执行,无需等待资源拉起,适用于对任务启动速度有较高要求的场景。
适用场景
Spark 集群适用于以下场景:
短查询场景,对任务拉起速度有要求。
需要频繁提交批任务的场景。
如果您的任务提交不频繁且对启动时间不敏感,建议直接使用 Serverless 模式按需提交,避免集群空闲时产生持续费用。
使用限制
任务并发上限:单个 Spark 集群默认任务并发上限为 200。如需更高并发,请提交工单联系技术支持。
Kyuubi/Livy Gateway:通过 Kyuubi Gateway、Livy Gateway 提交的任务暂不支持提交至 Spark 集群。
身份认证:暂不支持 LDAP、Kerberos 身份认证。
鉴权方式:暂不支持 Range 鉴权。
挂载纳管文件目录:暂不支持配置挂载纳管文件目录。
计费说明
Spark 集群启动后,按集群占用的资源(Master + Worker 节点)持续计费,无论集群是否有任务运行。提交到 Spark 集群的任务不会额外产生费用,任务使用的资源已包含在集群费用中。
具体费率信息,请参见计算资源(按量付费)。
创建 Spark 集群
登录 E-MapReduce 控制台。
在左侧导航栏,选择 EMR Serverless > Spark。
单击目标工作空间名称,进入 Spark 控制台。
在左侧导航栏,选择运维中心 > 集群管理。
在集群管理页面,选择Spark 集群页签。
单击创建 Spark 集群。
填写集群配置信息。
参数
说明
集群名称
自定义 Spark 集群名称。
引擎版本
选择 Spark 引擎版本。
服务高可用
是否开启服务高可用。默认关闭。
集群资源配置
分别配置 Master 和 Worker 节点:
- 部署队列:选择节点部署的资源队列。
- 资源规格:选择节点的资源规格(vCPU、内存)。
- 节点数量/弹性配置:配置节点数量。Worker 节点支持配置弹性伸缩的最小和最大节点数。网络连接
选择集群使用的网络连接。如需新建,可前往网络连接页面创建。
单击创建缓存集群。
提交任务到 Spark 集群
您可以通过以下方式将任务提交到 Spark 集群。
通过控制台或任务编排提交任务至 Spark 集群时,如果集群未启动,系统会自动启动集群。
提交到 Spark 集群时,任务的引擎版本、网络连接、挂载纳管文件目录配置以 Spark 集群的配置为准。
方式一:通过数据开发页面提交
在数据开发页面编写类型为 SQL、JAR 或 PySpark 的批任务。
单击页面右上角的执行资源下拉框,选择目标 Spark 集群。
单击发布或运行。
方式二:通过 spark-submit、API 或 DataWorks 提交
在提交参数中添加以下 Spark Conf 配置即可将任务提交到指定的 Spark 集群:
spark.emr.serverless.standalone.clusterId <your-Spark-cluster-id>将 <your-Spark-cluster-id> 替换为实际的 Spark 集群 ID,集群 ID 可在集群列表页或集群详情页中获取。
通过 DataWorks 经由 Serverless Spark Kyuubi 链路提交的任务,暂不支持提交到 Spark 集群。
方式三:通过任务编排页面提交流任务
在任务编排页面启动流任务时,选择指定资源为 Spark 集群。
查看任务运行记录
提交至 Spark 集群的任务可在任务历史中查看。无论是通过数据开发页面、spark-submit 工具还是 API 提交的任务,都会在运维中心 > 任务历史中展示。