全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Spark任务提交

最近更新时间:2025-11-21 19:07:35

本文档介绍如何使用作业提交界面创建和提交 Spark 任务。该界面提供了完整的配置选项,包括基础作业信息和高级资源配置。

入口说明

1. 进入作业创建页面

点击"新建作业"按钮,进入作业创建页面。

2. 选择作业类型

在页面顶部选择作业类型:

  • Spark:用于提交 Spark 应用程序

字段配置

必填字段

配置字段

操作指南

*作业名称

  • 必填,说明作业的用途,名称可以重复

  • 作业ID自动生成,用于标识作业的唯一名称

  • 填写要求:

    • 请输入有意义的作业名称

    • 建议使用能反映作业功能的命名规则

  • 示例:word_count_jobdata_processing_2025

*作业提交

AppResource

  • 必填

  • 说明:Spark任务应用程序代码的资源文件路径

  • 填写要求:

    • 输入应用程序的完整路径

    • 可以是 JAR 包、Python 文件或其他资源文件

  • 示例:

    • JAR 文件:ks3://bucket/path/your-app.jar

    • Python 文件:ks3://bucket/to/your-app.py

*作业提交

Class

  • 必填

  • 说明:Spark 应用程序的主类,包含启动的main函数

  • 填写要求:

    • 对于 Scala/Java 应用,输入主类的完整路径

    • 对于 Python 应用,可以留空或填写脚本名称

  • 示例:

    • Java/Scala:com.example.WordCount

    • Python:可填写脚本名称

高级设置(选填)

点击"高级设置"展开配置面板,可以配置以下参数:

资源配置

Driver核数

  • 默认值:1

  • 说明:Driver 进程使用的 CPU 核心数

  • 调整建议:

    • 简单任务:1 核即可

    • 复杂任务:可根据需要增加到 2-4 核

  • 操作方法:使用 -+ 按钮调整数值

Driver内存

  • 默认值:4

  • 说明:Driver 进程使用的内存大小(单位:GB)

  • 调整建议:

    • 小任务:2-4GB

    • 中等任务:4-8GB

    • 大任务:8GB 及以上

  • 注意事项:确保有足够的集群资源

Executor数量

  • 默认值:2

  • 说明:执行任务的 Executor 实例数量

  • 调整建议:

    • 数据量小:2-4 个

    • 数据量中等:4-10 个

    • 数据量大:10 个以上

  • 注意事项:需要根据集群资源和数据量合理设置

Executor核数

  • 默认值:1

  • 说明:每个 Executor 使用的 CPU 核心数

  • 调整建议:

    • 一般任务:1-2 核

    • 计算密集型任务:2-4 核

  • 总计算资源:Executor数量 × Executor核数

Executor内存

  • 默认值:4

  • 说明:每个 Executor 使用的内存大小(单位:GB)

  • 调整建议:

    • 小任务:2-4GB

    • 中等任务:4-8GB

    • 大任务:8GB 及以上

  • 总内存资源:Executor数量 × Executor内存

认证配置

AK

  • 字段:AK(Access Key)

  • 说明:访问密钥 ID,用于身份认证

  • 填写要求:

    • 请输入有效的 Access Key

    • 确保该密钥具有执行任务所需的权限

  • 安全提示:妥善保管密钥信息,不要泄露

SK

  • 字段:SK(Secret Key)

  • 说明:密钥密钥,与 AK 配对使用

  • 填写要求:

    • 请输入与 AK 对应的 Secret Key

    • 确保密钥的有效性和权限

  • 安全提示:这是敏感信息,请谨慎填写

镜像配置

镜像

  • 说明:Docker 镜像地址(可选)

  • 填写要求

    • 如果使用自定义镜像,请输入完整的镜像地址

    • 格式:registry/path/image:tag

  • 示例

    • 默认:hub.kce.ksyun.com/cbd-serverless-spark/flink:1.19.0-ksc0.1

  • 注意事项

    • 留空则使用默认镜像

    • 确保镜像可以正常访问

    • 镜像版本应与打包的 Flink 版本匹配

扩展配置

ExtraArgs

说明:Spark 应用main函数接收的参数,额外参数数组,支持添加多条

  • 填写要求

    • 多个参数需换行区分

    • 每行一个参数

  • 示例

1g
ks3://bigdata-test/tmp/input

Conf

  • 说明:Spark 配置参数,使用 JSON 格式

  • 填写要求

    • 必须是有效的 JSON 格式

    • 可以配置多个参数

  • 示例

{
  "spark.sql.adaptive.enabled": "true",
  "spark.sql.adaptive.coalescePartitions.enabled": "true",
  "spark.default.parallelism": "20"
}
  • 常用配置项

    • spark.sql.adaptive.enabled:是否启用自适应查询执行

    • spark.default.parallelism:默认并行度

依赖资源

jars

  • 说明:Spark任务需要引用的JAR包资源,仅支持KS3资源

  • 填写要求

    • 多个 JAR 文件需换行区分

    • 每行一个完整的文件路径

  • 示例

ks3://bucket/path/dependency1.jar
ks3://bucket/path/dependency1.jar

files

  • 说明:Spark任务需要引用的资源文件,仅支持KS3资源

  • 填写要求

    • 多个文件需换行区分

    • 可以是配置文件、数据文件等

  • 示例

ks3://bucket/path/config.properties

Pyfiles

  • 说明:Python 应用程序依赖的 Python 文件或压缩包

  • 填写要求

    • 多个文件需换行区分

    • 支持 .py 文件、.zip.egg 等格式

  • 示例

ks3://bucket/path/to/utils.py
ks3://bucket/path/to/modules.zip

Archives

  • 说明:需要提取到各个节点的归档文件(如 .tar.tar.gz.zip 等)

  • 填写要求

    • 多个归档文件需换行区分

    • 归档文件会在每个节点上自动解压

  • 示例

ks3://bucket/path/to/native-libs.tar.gz

Packages

  • 说明:Spark 任务指定的外部依赖包

  • 填写要求

    • 多个包需换行区分

  • 示例

ks3://bucket/path/to/dependency1.jar
ks3://bucket/path/to/dependency2.jar

ProxyUser

  • 说明:代理用户,用于以其他用户身份提交任务

  • 填写要求

    • 输入有效的用户名

    • 当前用户需要具有代理权限

  • 使用场景

    • 需要以特定用户身份运行任务

    • 权限管理和审计要求

配置示例

示例 1:简单的 WordCount 任务

基础配置:

  • 作业名称:word_count_example

  • AppResource:ks3://bucket/path/to/wordcount.jar

  • Class:org.apache.spark.examples.SparkPi

高级配置(使用默认值):

  • Driver 核数:1

  • Driver 内存:4G

  • Executor 数量:2

  • Executor 核数:1

  • Executor 内存:4G

  • ExtraArgs : 100

示例 2:大数据处理任务

基础配置:

  • 作业名称:spark-test-TeraGen

  • AppResource:ks3://bigdata-test/jars/spark-terasort-1.2.jar

  • Class:com.github.ehiggs.spark.terasort.TeraGen

高级配置:

  • Driver 核数:2

  • Driver 内存:8G

  • Executor 数量:10

  • Executor 核数:2

  • Executor 内存:8G

  • Conf(JSON 格式):

{
  "spark.sql.adaptive.enabled": "true",
  "spark.default.parallelism": "400",
  "spark.sql.shuffle.partitions": "400"
}
  • ExtraArgs

1g
ks3://bigdata-test/tmp/input

注意事项

资源规划
  1. 合理配置资源

    • 根据数据量和任务复杂度配置资源

    • 避免过度配置导致资源浪费

    • 确保集群有足够的可用资源

  2. 内存配置建议

    • Driver 内存应考虑作业元数据大小

    • Executor 内存应预留部分给系统开销

    • 一般建议保留 10-20% 的系统开销

  3. 并行度调整

    • Executor 数量 × Executor 核数 ≈ 并行度

    • 可以根据数据分区数量调整

    • 过高的并行度可能导致小任务过多

路径和格式
  1. 文件路径

    • 支持 HDFS、HTTP、HTTPS 等协议

    • 确保路径可访问且权限正确

    • 使用完整路径避免相对路径问题

  2. JSON 格式

    • Conf 字段必须使用有效的 JSON 格式

    • 注意字符串值的引号

    • 可以使用在线 JSON 验证工具检查格式

  3. 依赖管理

    • 优先使用 Packages 管理 Maven 依赖

    • Jars 适用于自定义或本地依赖

    • 注意依赖版本兼容性

性能优化
  1. 自适应执行

    • 启用 spark.sql.adaptive.enabled

    • 让 Spark 自动优化执行计划

    • 适用于数据倾斜等场景

  2. 分区调整

    • 根据数据大小调整分区数量

    • 使用 spark.default.parallelism 设置默认并行度

    • 避免过多或过少的分区

  3. 缓存策略

    • 对于重复使用的数据,考虑缓存

    • 根据数据大小选择合适的存储级别

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈