数据流水线设计
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_5ef52bd7/data-pipeline-design。
技能介绍
解决什么问题
数据处理代码最常见的衰变路径是:一个脚本变成五个脚本,再变成一个谁都敢改的千行文件。列名写死、路径散落在各处、计算逻辑和导出格式混在一起,改一次提成规则就要通读全文;换个 Excel 目录就要改十处路径。当需求来自频繁变动的业务规则(提成、定价、评分)或多个来源的合并计算时,这种结构会迅速失控。
它如何工作
这个技能给出的是一套经过生产验证的设计模式,而不是现成代码库。它用自然语言即可驱动——描述你的数据、业务规则和输出格式,它会先问澄清问题,再逐步给出架构。
核心结构是一条 5 阶段管道,配合多个设计原则:
- 配置驱动:列名、路径、规则集中在配置文件,代码里不出现字面量
- 策略模式 + 注册表:多来源接入时按处理逻辑分组,
registry负责映射来源名到对应的 enricher - 职责分离:
steps/只做计算,output/只做展示,校验逻辑独立成quality模块,产出结构化结果 - 统一合并入口:所有 join 走
merge_lookup()而非裸pd.merge(),自动处理类型转换、去重与键清洗
调试单个阶段时,注释掉 STAGES 中其他阶段,加载上一阶段的缓存产物单独跑。
适用边界与注意点
适合规则驱动的计算、多来源 ETL、周期性报表与数据质量校验场景。但不要用于一次性脚本、需要毫秒级响应的实时处理、或少于 3 个变体的组件——后者用配置化是过度设计。
生产环境部署前用 ENVIRONMENT = "prod" 本地验证;Excel 输出注意列名特殊字符、sheet 名超 31 字符和混合类型导致的损坏问题。
使用场景
- 月底要根据变动后的提成规则,把销售明细和 5 个 Excel 费率表合并,算出每人当月提成并生成明细表
- 每周要把 5 个来源的 Excel/CSV 按客户号左连接合并,标注数据来源后再汇总成周报
- 每月初从多张业务表聚合出 KPI 并计算环比,按固定格式生成月度报表
- 导出报表前需要自动检查必填字段完整性、取值范围和数据一致性,不合格的数据要能定位到行
适合人员
- 负责搭建 ETL 管道的后端工程师,需要一套可复用的结构来管理多来源合并与校验,而不是每次重写脚本
- 每月用 pandas 做提成或 KPI 计算的业务分析师,规则频繁变动,希望改配置而非改代码
- 在生产环境跑数据处理任务的 Python 开发者,担心硬编码路径和类型不一致导致的线上故障,需要可维护的架构参考
- 需要规范团队数据处理流程的技术负责人,希望代码评审和交接有统一章法