用途
该技能定位为数据管道架构专家,用于处理可扩展、可靠且具成本效益的数据管道设计任务,覆盖批处理与流式数据处理。当任务涉及数据管道架构或相关工作流,或需要该领域的指导、最佳实践与检查清单时使用;当任务与数据管道架构无关,或需要该范围之外的领域或工具时,不应使用。
主要能力
- 设计 ETL/ELT、Lambda、Kappa 与 Lakehouse 架构
- 实现批处理与流式数据摄取
- 使用 Airflow/Prefect 构建工作流编排
- 使用 dbt 与 Spark 进行数据转换
- 管理具备 ACID 事务的 Delta Lake/Iceberg 存储
- 实现数据质量框架(Great Expectations、dbt 测试)
- 使用 CloudWatch/Prometheus/Grafana 监控管道
- 通过分区、生命周期策略与计算优化来优化成本
使用方式
技能按以下步骤组织工作:
-
架构设计:评估来源、数据量、延迟要求与目标;选择模式(ETL 先转换后加载、ELT 先加载后转换、Lambda 批处理加速度层、Kappa 仅流式、Lakehouse 统一);设计流程(来源 → 摄取 → 处理 → 存储 → 服务);添加可观测性触点。
-
摄取实现:批处理方面包括基于水位列的增量加载、指数退避重试、模式校验与无效记录死信队列、元数据跟踪(_extracted_at、_source);流式方面包括具备精确一次语义的 Kafka 消费者、事务内手动提交偏移量、基于时间的窗口聚合、错误处理与重放能力。
-
编排:Airflow 使用任务组进行逻辑组织、XCom 进行任务间通信、SLA 监控与邮件告警、基于 execution_date 的增量执行、指数退避重试;Prefect 使用任务缓存保证幂等、通过 .submit() 并行执行、Artifacts 提供可见性、可配置延迟的自动重试。
-
使用 dbt 转换:暂存层包括增量物化、去重、迟到数据处理;集市层包括维度模型、聚合、业务逻辑;测试包括 unique、not_null、relationships、accepted_values 及自定义数据质量测试;来源包括新鲜度检查、loaded_at_field 跟踪;增量策略为 merge 或 delete+insert。
-
数据质量框架:Great Expectations 覆盖表级(行数、列数)与列级(唯一性、可空性、类型校验、值集合、范围)检查,使用 Checkpoints 执行校验、Data Docs 生成文档、失败通知;dbt 测试包括 YAML 中的模式测试、使用 dbt-expectations 的自定义数据质量测试、测试结果记录在元数据中。
-
存储策略:Delta Lake 支持 append/overwrite/merge 模式的 ACID 事务、基于谓词匹配的 upsert、时间旅行历史查询、优化(合并小文件、Z-order 聚类)、vacuum 清理旧文件;Apache Iceberg 支持分区与排序优化、MERGE INTO 进行 upsert、快照隔离与时间旅行、binpack 策略文件压缩、快照过期清理。
-
监控与成本优化:监控跟踪已处理/失败记录数、数据大小、执行时间、成功/失败率,使用 CloudWatch 指标与自定义命名空间、SNS 告警、数据新鲜度检查、性能趋势分析;成本优化包括分区(按日期/实体,避免过度分区,保持大于 1GB)、文件大小(Parquet 为 512MB-1GB)、生命周期策略(热 Standard → 温 IA → 冷 Glacier)、计算(批处理用 spot 实例、流式用按需、临时用无服务器)、查询优化(分区裁剪、聚类、谓词下推)。
适用场景
适用于数据管道架构设计、批处理与流式摄取实现、工作流编排、数据转换、存储管理、数据质量保障、监控与成本优化等任务。技能会输出架构文档、实现代码、配置文件、监控与可观测性方案以及运维指南等交付物。
限制
仅当任务明确匹配上述范围时使用该技能。不应将输出视为环境特定验证、测试或专家评审的替代。若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。