本文为您介绍Application开发的配置项说明和操作步骤。
前提条件
已创建工作空间,详情请参见管理工作空间。
操作步骤
进入开发页面。
在左侧导航栏,选择
。在Spark页面,单击目标工作空间名称。
在EMR Serverless Spark页面,单击左侧导航栏中的数据开发。
新建任务。
在开发目录页签下,单击新建。
在弹出的对话框中,输入名称,根据实际需求在Application中选择类型,然后单击确定。
在右上角选择队列。
添加队列的具体操作,请参见管理资源队列。
在新建的任务编辑器中,编辑相关参数。
JAR
参数
说明
主jar资源
运行Spark Application时必须的主要JAR包。
工作空间资源:提前在资源上传页面上传的文件。
OSS资源:存储在阿里云OSS中的文件。
引擎版本
Spark的版本,详情请参见引擎版本介绍。
Main Class
提交Spark任务时所指定的主类。
运行参数
任务运行过程中所需的配置项或传递给主类的自定义参数。多个参数使用空格分隔。
files资源
在提交Spark Application任务时,通过
--files
参数指定的文件将在任务提交过程中被复制到Executor的工作目录中,以确保Spark任务在运行时能够访问这些文件。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
archives资源
在提交Spark Application任务时,通过
--archives
参数指定的文件将在任务提交过程中被解压分发到 Executor上的归档文件。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
jars资源
在提交Spark Application任务时,通过
--jars
参数指定所需的JAR依赖文件。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
spark.driver.cores
Spark应用程序中驱动程序使用的CPU核心数。
spark.driver.memory
Spark应用程序中驱动程序可用的内存大小。
spark.executor.cores
Spark应用程序中每个执行器(Executor)使用的虚拟CPU核心数。
spark.executor.memory
Spark应用程序中每个执行器(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配置信息,默认以空格符分隔,例如,
key value
。标签
填写标签键值对,可以提升任务管理的便捷性和精确性。
PySpark
参数
说明
主Python资源
运行Spark Application时必须的主要Python文件。
工作空间资源:提前在资源上传页面上传的文件。
OSS资源:存储在阿里云OSS中的文件。
引擎版本
Spark的版本,详情请参见引擎版本介绍。
运行参数
任务运行过程中所需的配置项或传递给主类的自定义参数。
files资源
指定需要分发到集群中所有Executor节点上的文件列表。
在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
pyfiles资源
在提交Spark Application任务时,通过
--py-files
参数指定的文件将作为Python依赖文件在任务提交过程中一并分发。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
archives资源
在提交Spark Application任务时,通过
--archives
参数指定的文件将在任务提交过程中被解压分发到Executor上的归档文件。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
jars资源
在提交Spark Application任务时,通过
--jars
参数指定所需的JAR依赖文件。在指定资源类型时,您可以根据需要选择工作空间资源或OSS资源。
spark.driver.cores
Spark应用程序中驱动程序使用的CPU核心数。
spark.driver.memory
Spark应用程序中驱动程序可用的内存大小。
spark.executor.cores
Spark应用程序中每个执行器(Executor)使用的虚拟CPU核心数。
spark.executor.memory
Spark应用程序中每个执行器(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配置信息,默认以空格符分隔,例如,
key value
。标签
填写标签键值对,可以提升任务管理的便捷性和精确性。
SQL
参数
说明
SQL文件
提交任务时所需的文件。
工作空间资源:提前在资源上传页面上传的文件。
OSS资源:存储在阿里云OSS中的文件。
引擎版本
Spark的版本,详情请参见引擎版本介绍。
spark.driver.cores
Spark应用程序中驱动程序使用的CPU核心数。
spark.driver.memory
Spark应用程序中驱动程序可用的内存大小。
spark.executor.cores
Spark应用程序中每个执行器(Executor)使用的虚拟CPU核心数。
spark.executor.memory
Spark应用程序中每个执行器(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配置信息,默认以空格符分隔,例如,
key value
。标签
填写标签键值对,可以提升任务管理的便捷性和精确性。
Spark Submit
参数
说明
引擎版本
Spark的版本,详情请参见引擎版本介绍。
脚本
填写您的Spark Submit脚本。
例如,脚本内容如下。
--class org.apache.spark.examples.SparkPi \ --conf spark.executor.memory=2g \ oss://<YourBucket>/spark-examples_2.12-3.3.1.jar
spark.driver.cores
Spark应用程序中驱动程序使用的CPU核心数。
spark.driver.memory
Spark应用程序中驱动程序可用的内存大小。
spark.executor.cores
Spark应用程序中每个执行器(Executor)使用的虚拟CPU核心数。
spark.executor.memory
Spark应用程序中每个执行器(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配置信息,默认以空格符分隔,例如,
key value
。标签
填写标签键值对,可以提升任务管理的便捷性和精确性。
(可选)在任务开发页面右侧,您可以单击版本信息页签,查看版本信息或进行版本对比。
运行并发布任务。
单击运行。
运行任务后,您可以在下方的运行记录区域,单击操作列的详情,跳转至任务总览页,查看该任务的详细信息。
单击右上角的发布。
在发布对话框中,可以输入发布信息,然后单击确定。
相关文档
JAR任务完整的开发流程示例,请参见JAR开发快速入门。
Spark Submit任务完整的开发流程示例,请参见Spark Submit开发快速入门。
SQL任务和任务编排完整的开发流程示例,请参见SQL开发快速入门。
PySpark批任务完整的开发流程示例,请参见PySpark开发快速入门。
PySpark流任务完整的开发流程示例,请参见通过Serverless Spark提交PySpark流任务。