Skip to content

Commit cb5d91a

Browse files
authored
#AI commit# 新增功能 - spark引擎支持设置driver参数到driver端 (#5398)
1 parent 5fdf4a0 commit cb5d91a

9 files changed

Lines changed: 2720 additions & 4 deletions

File tree

docs/dev-1.18.0-webank/design/spark_executor_params_设计.md

Lines changed: 459 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# language: zh-CN
2+
功能: Spark引擎支持设置executor参数
3+
为Linkis Spark引擎增加executor端参数设置能力,支持开关控制和参数排除
4+
5+
背景:
6+
配置文件位置为: linkis-engineconn.properties
7+
集成位置为: SparkEngineConnExecutor.executeLine方法的sc.setJobGroup之后
8+
9+
场景1: 功能开关关闭时,不执行任何参数设置
10+
假设 功能开关配置为: wds.linkis.spark.executor.params.enabled=false
11+
用户执行Spark代码
12+
那么 不执行任何参数设置操作
13+
并且 日志记录禁用状态信息
14+
15+
场景2: 功能开关开启时,正确设置所有Spark参数到executor端
16+
假设 功能开关配置为: wds.linkis.spark.executor.params.enabled=true
17+
并且 排除参数配置为: wds.linkis.spark.executor.params.exclude=
18+
用户执行Spark代码
19+
那么 遍历所有Spark参数
20+
并且 通过sc.setLocalProperty设置每个参数到executor端
21+
并且 日志记录设置的参数总数
22+
23+
场景3: 配置排除参数时,排除的参数不会被设置
24+
假设 功能开关配置为: wds.linkis.spark.executor.params.enabled=true
25+
并且 排除参数配置为: wds.linkis.spark.executor.params.exclude=spark.sql.shuffle.partitions,spark.dynamicAllocation.maxExecutors
26+
用户执行Spark代码
27+
那么 spark.sql.shuffle.partitions参数不会被设置
28+
并且 spark.dynamicAllocation.maxExecutors参数不会被设置
29+
并且 其他正常参数会被设置
30+
并且 日志记录排除的参数数量
31+
32+
场景4: 参数设置失败时,记录WARNING日志并继续执行
33+
假设 功能开关配置为: wds.linkis.spark.executor.params.enabled=true
34+
并且 存在无效的Spark参数名称
35+
参数设置过程中遇到异常
36+
那么 记录WARNING级别日志,包含参数key和异常信息
37+
并且 继续设置下一个参数
38+
并且 不影响Spark作业正常执行
39+
40+
场景5: 使用默认配置时,功能关闭不影响现有功能
41+
用户不配置任何executor参数相关配置
42+
那么 使用默认配置: wds.linkis.spark.executor.params.enabled=false
43+
并且 不执行任何参数设置
44+
并且 与现有Spark行为完全一致
45+
46+
场景6: 验证参数设置在sc.setJobGroup后执行
47+
用户执行Spark代码
48+
那么 executeLine方法执行流程为:
49+
| 步骤 | 操作 |
50+
| 1.0 | 调用Pre-Execution Hook |
51+
| 2.0 | 设置JobGroup: sc.setJobGroup(jobGroup, _code, true) |
52+
| 3.0 | 设置Driver参数: setSparkDriverParams(sc) | <-- 新增 |
53+
| 4.0 | 执行实际代码: runCode(...) |
54+
| 5.0 | 调用Post-Execution Hook |

0 commit comments

Comments
 (0)