Spark配置模板用于定义全局默认配置,支持创建、编辑和管理任务运行所需的参数。通过集中维护 Spark 配置信息,确保任务执行的一致性和灵活性,同时支持动态更新以满足多样化业务需求。
前提条件
已创建工作空间,详情请参见管理工作空间。
创建配置模板
进入配置管理页面。
在左侧导航栏,选择
。在Spark页面,单击目标工作空间的名称。
在EMR Serverless Spark页面,单击左侧导航栏中的配置管理。
在Spark 配置模板页面,单击创建模板。
在创建配置模板页面,配置以下参数,单击创建。
参数
说明
模板名称
您可以自定义。
引擎版本
当前Compute使用的引擎版本。引擎版本号含义等详情请参见引擎版本介绍。
spark.driver.cores
用于指定Spark应用程序中Driver进程所使用的CPU核心数量。
spark.driver.memory
用于指定Spark应用程序中Driver进程可以使用的内存量。
spark.executor.cores
用于指定每个Executor进程可以使用的CPU核心数量。
spark.executor.memory
用于指定每个Executor进程可以使用的内存量。
spark.executor.instances
Spark分配的执行器(Executor)数量。
动态资源分配
默认关闭。开启后,需要配置以下参数:
executors数量下限:默认为2。
executors数量上限:如果未设置spark.executor.instances,则默认值为10。
更多内存配置
spark.driver.memoryOverhead:每个Driver可利用的非堆内存。如果未设置该参数,Spark会根据默认值自动分配,默认值为
max(384MB, 10% × spark.driver.memory)
。spark.executor.memoryOverhead:每个Executor可利用的非堆内存。如果未设置该参数,Spark会根据默认值自动分配,默认值为
max(384MB, 10% × spark.executor.memory)
。spark.memory.offHeap.size:Spark可用的堆外内存大小。默认值为1 GB。
仅在
spark.memory.offHeap.enabled
设置为true
时生效。默认情况下,当采用Fusion Engine时,该功能将处于启用状态,其非堆内存默认设置为1 GB。
Spark配置
填写Spark配置信息,默认以空格符分隔,例如,
spark.sql.catalog.paimon.metastore dlf
。Serverless Spark提供了多个内置特有参数,您可以通过Spark Conf自定义参数列表查看这些参数的名称、描述和使用场景。
配置模板创建后,您可以通过单击操作列中的编辑或删除,以修改或移除配置模板。
使用配置模板
通过数据开发加载配置
在进行批/流数据开发时,您可以通过设置从模板加载配置参数,直接使用已创建的配置模板。系统会自动加载所选模板中的配置参数,无需手动输入,从而简化配置流程并确保一致性。
通过spark-submit工具加载配置
使用spark-submit
提交任务时,支持通过在--conf
中指定spark.emr.serverless.templateId
参数来指定模板ID。系统会根据指定的模板ID自动加载对应的配置参数,并将其作为Spark应用程序的默认参数。
示例如下所示。
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--conf spark.emr.serverless.templateId=<template_id> \
/path/to/your/spark-job.jar
其中,<template_id>
为模板ID,您可以在Spark 配置模板页面获取。
恢复为默认配置
当您需要将某个配置模板的参数重置为系统初始的默认值时,可按以下步骤操作:
在Spark 配置模板页签,单击操作列的编辑。
在编辑配置模板,单击最下方的恢复为默认配置,然后单击保存更改。
更改默认模板
当您需要切换到一个新的配置模板作为默认模板时,可按以下步骤操作:
在Spark 配置模板页面,单击操作列的置为默认。
在弹出的对话框中,单击确定。