最近更新时间:2025-11-21 19:07:35
本文档介绍如何使用作业提交界面创建和提交 Spark 任务。该界面提供了完整的配置选项,包括基础作业信息和高级资源配置。
1. 进入作业创建页面
点击"新建作业"按钮,进入作业创建页面。
2. 选择作业类型
在页面顶部选择作业类型:
Spark:用于提交 Spark 应用程序
配置字段 | 操作指南 |
*作业名称 |
|
*作业提交 AppResource |
|
*作业提交 Class |
|
点击"高级设置"展开配置面板,可以配置以下参数:
Driver核数 |
|
Driver内存 |
|
Executor数量 |
|
Executor核数 |
|
Executor内存 |
|
AK |
|
SK |
|
镜像 |
|
ExtraArgs | 说明:Spark 应用main函数接收的参数,额外参数数组,支持添加多条
|
Conf |
|
jars |
|
files |
|
Pyfiles |
|
Archives |
|
Packages |
|
ProxyUser |
|
基础配置:
作业名称: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
基础配置:
作业名称: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合理配置资源
根据数据量和任务复杂度配置资源
避免过度配置导致资源浪费
确保集群有足够的可用资源
内存配置建议
Driver 内存应考虑作业元数据大小
Executor 内存应预留部分给系统开销
一般建议保留 10-20% 的系统开销
并行度调整
Executor 数量 × Executor 核数 ≈ 并行度
可以根据数据分区数量调整
过高的并行度可能导致小任务过多
文件路径
支持 HDFS、HTTP、HTTPS 等协议
确保路径可访问且权限正确
使用完整路径避免相对路径问题
JSON 格式
Conf 字段必须使用有效的 JSON 格式
注意字符串值的引号
可以使用在线 JSON 验证工具检查格式
依赖管理
优先使用 Packages 管理 Maven 依赖
Jars 适用于自定义或本地依赖
注意依赖版本兼容性
自适应执行
启用 spark.sql.adaptive.enabled
让 Spark 自动优化执行计划
适用于数据倾斜等场景
分区调整
根据数据大小调整分区数量
使用 spark.default.parallelism 设置默认并行度
避免过多或过少的分区
缓存策略
对于重复使用的数据,考虑缓存
根据数据大小选择合适的存储级别
纯净模式
