为满足用户定制化数据查询分析的需求,EMR Serverless Spark 提供了可视化提交 SparkJar 作业的方式。用户可以编写 Java 代码,提交 SparkJar,完成分布式数据处理。本文为您介绍多种提交 SparkJar 作业的操作步骤。
参数名称 | 参数作用 |
|---|---|
Main 方法 | SparkJar 作业运行的主类 |
主任务文件 | SparkJar 作业的主要 Jar 资源,您可以将资源上传至 TOS,然后在此指定 TOS 路径 |
依赖 Jar(Jars) | 除了任务主文件,SparkJar 作业还支持添加一些依赖的 Jar 文件,在任务运行时会被同时添加至任务 classpath 中。同样,您可以将资源上传至 TOS 并在此指定路径 |
依赖File 资源(Files) | SparkJar 作业的依赖文件,用户可以在任务代码中,通过 API 访问 |
依赖archive | SparkJar 作业的依赖archive |
Spark 参数(Spark Conf) | Spark 作业参数,可以指定 Spark 作业所用的资源等 |
Main 参数(Main Conf) | SparkJar 作业主类运行时,需要传入的参数 |
存储挂载路径 | 设置当前作业可能需要挂载的存储路径,详情请参见存储挂载概述。 |
其中,UI 模式字段名和 JSON 模式的字段 KEY 的对应关系如下:
UI 模式 | JSON 模式 | 是否必须 | ||
|---|---|---|---|---|
作业名称 | Name | Y | ||
语言类型 | Language | Y | ||
主类(Main Class) | MainClass | Y | ||
队列 | Queue | Y | ||
资源文件 | MainFile | Y | ||
依赖 Jar(Jars) | DependJars | N | ||
其他依赖文件(Files) | DependFiles | N | ||
Spark参数(Spark Conf) | Conf | N | ||
自定义参数(Main Conf) | MainArgs | N | ||
目前 EMR Serverless 支持 Java 和 Python 两类 SDK。Java SDK 使用方式请参考:Java Query SDK;Python SDK 使用方式请参考:Python Query SDK。
使用方式请参考文档:Spark Submit 工具使用说明。
对于 SparkJar 作业,默认无法读写用户账户下 LAS 的库表,如果您想在 SparkJar 作业中,通过 Spark SQL/Table Api 进行库表的读写,需要在 Spark 参数中额外设置:
参数名称 | 参数值 |
|---|---|
serverless.spark.access.key | 访问LAS 库表所需的Access Key |
serverless.spark.secret.key | 访问LAS 库表所需的Secret Key |
作业创建完成后,您可以在作业列表页面查看所有已创建的作业,并可手动触发作业运行,或者对作业进行编辑修改、删除的操作。
在作业提交后,您也可以在 作业中心 > 作业实例 页面查看所有已提交的作业运行实例详情,包括运行状态、作业类型、资源详情、提交人等。