为满足用户定制化数据查询分析的需求,EMR Serverless Spark 提供了可视化提交 SparkJar 作业的方式。用户可以编写 Java 代码,提交 SparkJar,完成分布式数据处理。
参数名称 | 参数作用 |
|---|---|
主类 | SparkJar 作业运行的主类 |
资源文件 | SparkJar 作业的主要 Jar 资源,您可以将资源上传至 TOS,然后在此指定 TOS 路径 |
依赖 Jar(Jars) | 除了任务主文件,SparkJar 作业还支持添加一些依赖的 Jar 文件,在任务运行时会被同时添加至任务 classpath 中。同样,您可以将资源上传至 TOS 并在此指定路径 |
其它依赖文件(Files) | SparkJar 作业的依赖文件,用户可以在任务代码中,通过 API 访问 |
Spark 参数(Spark Conf) | Spark 作业参数,可以指定 Spark 作业所用的资源等 |
自定义参数(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 |