Agent Skills
返回列表
💻

Spark 工程师

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据官方指南 https://skillhub.cn/install/skillhub.md,将 @kunlungrowth/kg-spark-engineer 安装到当前 AI 助手中。

技能介绍

它解决什么问题

Spark 作业跑起来容易,跑好很难。一个典型场景:作业提交后,监控面板显示几百个 task 中只有三五个迟迟不结束,整个 stage 的长尾把 SLA 拖垮。这类问题的根源往往是数据倾斜、shuffle 分区设置不合理、缓存策略失误,或内存配置与数据特征不匹配。

@kunlungrowth/kg-spark-engineer(Spark 工程师)把这套排查与优化过程固化成了可复用的工作流。

核心能力与工作流程

技能按五个步骤推进:

  1. 明确作业 — 确认批处理还是流处理、输入输出路径、SLA 约束
  2. 设计方案 — 分区、缓存、shuffle 策略
  3. 编码实现 — 优先 DataFrame API 而非 RDD
  4. 性能调优 — 定位数据倾斜、内存问题、并行度不足
  5. 输出工件 — 返回结构化的 SparkJobSpec

以常见的「少数 task 特别慢」为例,技能会诊断为大 key 倾斜,建议加盐打散再聚合、小表走 broadcast join,并把结论写入输出工件。

输入与输出

输入可以是自然语言需求加可选代码片段,也支持传入结构化 SparkJobSpec 做二次优化。输出分两部分:完整工件 {job, mode, input, output, tuning:[], notes},以及一段自然语言摘要,指出质量自检结果和最该改的 2-3 点。

下游可将 SparkJobSpec 交给 ml-pipeline 衔接训练数据。完整模板(含工作流要点、自检清单、工件示例、常见陷阱)见 references/template.md。

适用边界

  • 面向中大规模数据的 Spark 作业;中小数据场景请改用 pandas-pro
  • 不处理非 JVM 调度器的深度调优
  • tuning 建议需结合真实集群参数验证

使用场景

  • 写批处理作业把 Hive 表做清洗聚合,需要确定分区和 shuffle 策略
  • 流作业少数 task 迟迟不结束,要判断是否大 key 倾斜并给出修复方案
  • 作业提交后频繁 OOM,需要调整内存配置与缓存策略
  • 已有 SparkJobSpec,想交给技能做二次优化并拿到调优建议

适合人员

  • 数据工程师:每周维护多个 Spark 批/流作业,需要定位 shuffle 或倾斜问题
  • 大数据平台工程师:要给集群作业配置分区、内存与并行度参数
  • 机器学习工程师:要把 Spark 作业产出的数据接到 ml-pipeline 训练管道