839 字
约 2 分钟
10
S22-A01 · 数据工程 Agent:Spark 与 DAG 观测

适用读者:想让"自然语言 → 数据任务"落地的人。
前置:S22-J04。
覆盖旧文:750(180) 755(99) 753(77) 752(75) 756(67) = 498 点。
覆盖扩展:E-S22-006(NL→Spark 四段链路)。
上一篇:S22-J04 · ReAct 变体与 DAG 编排
下一篇:S22-A02 · LangChain4j vs Spring AI。


1. 一句话结论

"自然语言生成 Spark 任务"不是让模型直接写代码就跑,而是四段链路:意图→模板/代码→校验→受控执行。中间两段决定它能不能上生产。

① 意图解析(要什么数据/什么口径)
② 生成(SQL/Spark 代码,基于模板)
③ 校验(语法/权限/代价)
④ 受控执行(沙箱 + 资源上限)

2. 四段链路的关键控制(E-S22-006)

段 控制点 失败后果
意图 澄清缺失口径(时间范围/维度) 跑出错的数
生成 模板化(不是自由生成) 语法错、逻辑错
校验 语法检查 + 代价预估 + 权限 全表扫描打爆集群
执行 资源上限、超时、沙箱 拖垮平台

"为什么必须模板化":自由生成的 SQL 在语义上可能"看起来对但口径错"——模板把口径固定下来。


3. 代价预估与资源保护(A-752/A-753)

手段 作用
EXPLAIN 预检 看是否全表扫描
分区/行数上限 硬约束
超时与自动 kill 防止挂死
队列与优先级 防挤占

判据:"这个任务最坏会扫多少数据?" 答不出 → 不允许提交。


4. DAG 观测(A-752)

指标 用途
节点耗时 定位慢节点
失败率/重试次数 稳定性
数据量/倾斜 性能根因
血缘 影响面分析

"为什么血缘重要":出错时要知道"哪些下游被污染"——这是数据 Agent 与传统服务排障最大的不同。


5. TUI/交互(A-756)

设计点 说明
长任务要显示进度 否则用户以为卡死
关键步骤可中断 避免浪费资源
结果可回看 便于审计

6. 五个误区

误区 真相
"让模型自由写 SQL 更快" 口径错的风险高
"不校验直接跑" 可能全表扫描
"有超时就不用限资源" 超时前已造成压力
"DAG 跑完就没事" 要看数据质量与血缘
"自然语言能替代建模" 口径仍需人来定

7. 自检(架构师版)

  1. 四段链路各段的控制点?
  2. 为什么必须模板化?
  3. 代价预估的四种手段?
  4. 血缘为什么重要?
  5. 长任务交互的三个设计点?

8. 下一篇

S22-A02 · LangChain4j vs Spring AI

数据工程讲完,最后一篇做框架对比。


本篇属于系列《S22 · AI 工程落地实战》。旧文来源:A-750/755/753/752/756;扩展点 E-S22-006。

S22-A01 · 数据工程 Agent:Spark 与 DAG 观测
https://www.clxhxhhr.top/posts/5524/
作者
clxstart
发布于
2024-12-31
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。