为满足用户定制化数据查询分析的需求,EMR Serverless Spark 提供了可视化提交 SparkJar 作业的方式。用户可以编写 Java 代码,提交 SparkJar,完成分布式数据处理。本文为您介绍多种提交 SparkJar 作业的操作步骤。
在顶部菜单栏中,根据实际场景,下拉选择地域和项目空间。
单击 作业中心 > 作业管理或作业实例进入创建作业页面
配置 Spark JAR 作业的参数。
配置作业基本信息,参数说明见下表。
参数 | 配置操作 |
|---|---|
作业名称 | 本次作业的名称,创建后不可更改。 |
作业类型 | 创建的作业的类型。 |
执行资源 | 执行作业使用的EMR资源,分资源类型下拉框和队列/项目下拉框。 |
开发模式 |
|
配置作业内容,不同开发模式下的参数入口不一致,参数说明可参见下表。
UI 模式参数 | JSON 模式参数 | 是否必填 | 说明 |
|---|---|---|---|
EngineRuntime | ServerlessSparkRuntimeVersion | Y | 选择 Spark 计算引擎环境,支持选择 Spark 版本及对应的 Java Runtime 或 Bolt Runtime。
注意 作业的 EngineRuntime 参数优先级高于 default 计算组和通用计算组参数。 |
Main 方法 | MainClass | Y | SparkJar 作业运行的主类。 |
主任务文件 | MainApplicationFile | Y | SparkJar 作业的主任务 Jar 文件。 |
依赖 Jar | Jars | N | 主 JAR 文件运行时依赖的第三方或自定义 JAR 包,Executor 执行任务时会自动加载。 |
依赖 File 资源 | Files | N | 作业的依赖资源文件。 |
依赖 Archive | Archives | N | 作业的依赖 Archive。 |
Spark 参数(Spark Conf) | SparkConf | N | 作业的环境变量及使用的资源等。 注意 UI 模式下,EngineRuntime 参数以选项的形式传入,若此处提交 EngineRuntime 参数,不会生效。 |
Main 参数 (Main conf) | MainArguments | N | 填写作业主类运行时,需要的输入参数。 |
存储路径挂载 | JSON模式暂不支持此参数 | N | 设置当前作业可能需要挂载的存储路径,详情请参见存储挂载概述。 |
目前 EMR Serverless 支持 Java 和 Python 两类 SDK。Java SDK 使用方式请参考:Java Query SDK;Python SDK 使用方式请参考:Python Query SDK。
使用方式请参考文档:Spark-submit 工具使用说明。
在提交作业时,可以为作业添加依赖,支持添加 Jar 和 Python 包等,参数列表如下:
参数名 | 参数含义 | 参数用法 |
|---|---|---|
las.spark.jar.depend.jars | 作业依赖的Jar包 | [{"fileName": "tos://bucketName/xxx.jar"},{"fileName": "tos://bucketName/yyy.jar"}] |
las.spark.jar.depend.files | 作业依赖的文件 | [{"fileName": "tos://bucketName/xxx.csv"},{"fileName": "tos://bucketName/yyy.csv"}] |
las.spark.jar.depend.archives | 作业依赖的归档文件 | [{"fileName": "tos://bucketName/xxx.zip"}, {"fileName": "tos://bucketName/yyy.zip"}] |
las.spark.jar.depend.pyFiles | 作业依赖的python文件 | [{"fileName": "tos://bucketName/xxx.zip"},{"fileName": "tos://bucketName/yyy.zip"}] |
对于 SparkJar 作业,默认无法读写用户账户下 LAS 的库表,如果您想在 SparkJar 作业中,通过 Spark SQL/Table Api 进行库表的读写,需要在 Spark 参数中额外设置:
参数名称 | 参数值 |
|---|---|
serverless.spark.access.key | 访问LAS 库表所需的Access Key |
serverless.spark.secret.key | 访问LAS 库表所需的Secret Key |
作业创建完成后,您可以在作业列表页面查看所有已创建的作业,并可手动触发作业运行,或者对作业进行编辑修改、删除的操作。
在作业提交后,您也可以在 作业中心 > 作业实例 页面查看所有已提交的作业运行实例详情,包括运行状态、作业类型、资源详情、提交人等。