名称: Apache Spark 优化器 描述: 分析和优化 Apache Spark 作业的性能、成本和资源利用率 版本: 1.0.0 类别: 分布式处理 技能ID: SK-DEA-001 允许使用的工具:
- 读取
- 写入
- 编辑
- Glob
- Grep
- Bash
Apache Spark 优化器
概述
分析和优化 Apache Spark 作业的性能、成本和资源利用率。此技能提供 Spark 执行计划、分区策略和资源配置方面的深度专业知识,以实现效率最大化。
核心能力
- Spark 执行计划分析与优化
- 分区策略推荐
- Shuffle 减少技术
- 内存和执行器配置调优
- Catalyst 优化器提示生成
- 数据倾斜检测与缓解
- 广播连接优化
- 缓存策略推荐
输入模式
{
"sparkCode": "string",
"clusterConfig": "object",
"executionMetrics": "object",
"dataCharacteristics": {
"volumeGB": "number",
"partitionCount": "number",
"skewFactor": "number"
}
}
输出模式
{
"optimizedCode": "string",
"recommendations": ["string"],
"expectedImprovement": {
"executionTime": "percentage",
"resourceUsage": "percentage",
"cost": "percentage"
},
"configChanges": "object"
}
目标流程
- ETL/ELT 管道
- 流处理管道
- 特征存储设置
- 管道迁移
使用指南
- 提供待分析的 Spark 代码或作业定义
- 包含集群配置详情(执行器、内存、核心数)
- 如果可用,请分享执行指标(来自 Spark UI 或历史服务器)
- 描述数据特征,包括数据量、分区数和已知的倾斜情况
最佳实践
- 在优化前后始终分析执行计划
- 首先在代表性数据样本上测试优化方案
- 在优化验证期间监控资源利用率
- 记录配置更改以确保可复现性
- 在考虑性能提升的同时,也要考虑成本影响