name: 数据流 description: 为给定的数据流场景设计数据管道架构 allowed-tools: Read, Glob, Grep, Task argument-hint: “<description>”
数据流设计命令
基于需求描述设计数据管道架构。
用法
/sd:data-flow <description>
参数
description(必需):数据流需求的自然语言描述- 包括:数据源、目的地、转换、延迟需求
- 提及任何约束:成本、团队专业知识、现有基础设施
示例
/sd:data-flow 从网络和移动端实时追踪客户活动到分析仪表板
/sd:data-flow 从5个PostgreSQL数据库批量ETL到Snowflake用于BI报告
/sd:data-flow 从IoT传感器事件流处理,要求10ms延迟用于异常检测
/sd:data-flow 迁移遗留Oracle数据仓库到云湖仓架构
工作流程
-
解析需求 从描述中提取:
- 数据源和类型
- 容量和速度估计
- 延迟需求
- 转换复杂度
- 目标系统/使用案例
-
启动数据架构师代理 使用
data-architect代理设计管道。代理将:- 推荐合适的架构(湖/湖仓/仓库/网格)
- 选择管道模式(批处理/流处理/混合)
- 提议技术栈
- 设计数据流阶段
-
呈现架构 显示设计包括:
- 架构图(ASCII)
- 技术推荐及理由
- 管道阶段分解
- 数据质量策略
- 成本和风险考虑
架构模式
命令可能推荐:
数据平台类型
- 数据仓库:用于结构化BI/报告
- 数据湖:用于ML和多样化数据类型
- 数据湖仓:用于统一BI和ML
- 数据网格:用于去中心化领域所有权
管道模式
- 批处理ETL/ELT:计划性批量处理
- 流处理:实时事件处理
- Lambda:批处理 + 速度层
- Kappa:仅流处理并支持重放
处理框架
- Spark:大规模批处理和流处理
- Flink:低延迟流处理
- dbt:基于SQL的转换
- Kafka:事件流主干
输出
命令产生一份全面的设计文档,包括:
- 需求总结
- 推荐架构及理由
- 架构图
- 技术栈推荐
- 管道设计(阶段、转换)
- 数据质量策略
- 迁移路径(如果适用)
- 成本考虑
- 风险分析