用途
该技能用于提供数据工程方面的专家能力,帮助构建可扩展的数据管道、ETL/ELT 工作流、数据湖和数据仓库。其专长方向包括分布式数据处理、流处理、数据质量,以及现代数据栈技术(Airflow、dbt、Spark、Kafka),并关注可靠性与成本优化。
适用时机
在以下情况可调用该技能:
- 设计从数据源到消费层的端到端数据管道
- 实现带错误处理与数据质量检查的 ETL/ELT 工作流
- 构建具有优化存储与查询能力的数据湖或数据仓库
- 搭建实时流处理(Kafka、Flink、Kinesis)
- 优化数据基础设施成本(存储分层、计算效率)
- 实现数据治理与合规(GDPR、数据血缘)
- 将遗留数据系统迁移到现代数据平台
在以下情况不应调用该技能:
- 仅需要 SQL 查询优化(应使用 database-optimizer)
- 机器学习模型开发(应使用 ml-engineer 或 data-scientist)
- 简单数据分析或可视化(应使用 data-analyst)
- 数据库管理任务(应使用 database-administrator)
- 没有数据转换的 API 集成(应使用 backend-developer)
主要能力与决策框架
该技能提供管道架构选择、数据存储选择和 ETL 与 ELT 决策方面的指导框架。
管道架构选择方面:批量处理场景下,每日/每小时调度可用 Airflow + dbt,优势是生态成熟、基于 SQL 的转换,成本低到中等;大规模(TB+)可用 Spark(EMR/Databricks),优势是分布式处理、可应对规模,成本中到高(计算密集);简单转换可用 dbt Cloud 或 Fivetran,优势是托管、低维护,成本中等(SaaS 定价)。流处理场景下,事件流可用 Kafka + Flink,优势是低延迟、精确一次语义,成本高(常驻基础设施);AWS 原生可用 Kinesis + Lambda,优势是 Serverless、自动扩缩,成本可变(按使用付费);简单 CDC 可用 Debezium + Kafka Connect,优势是数据库变更捕获,成本中等。混合场景可采用 Lambda 架构或 Kappa 架构,Lambda 分离批处理层与速度层,Kappa 采用单一流优先方式。
数据存储选择方面:结构化分析可用 Snowflake/BigQuery,优势是 SQL、快速查询,劣势是规模下的成本;半结构化可用 Delta Lake/Iceberg,优势是 ACID、模式演进,劣势是复杂性;原始存储可用 S3/GCS,优势是廉价、持久,劣势是无查询引擎;实时场景可用 Redis/DynamoDB,优势是低延迟,劣势是分析能力有限;时间序列可用 TimescaleDB/InfluxDB,优势是面向时间数据优化,劣势是适用场景特定。
ETL 与 ELT 决策方面:可以依据数据量、转换方式、延迟、成本和最佳适用对象进行选择。ETL(先转换)适合小到中等数据量、复杂且加载前转换、较高延迟、加载前计算成本,最适合遗留系统;ELT(先加载)适合大规模(TB+)、基于 SQL 的仓库内转换、较低延迟、仓库计算成本,最适合现代云数据仓库。
核心模式
该技能包含若干核心模式:
- 幂等分区覆盖:用于安全重跑批处理作业而不产生重复数据。示例为基于执行日期覆盖分区的 PySpark 代码。
- 缓慢变化维度类型 2(SCD2):用于在不丢失过去状态的情况下跟踪变更历史。示例为 SCD2 的 dbt 实现。
- 流处理的死信队列(DLQ):用于处理格式错误的消息而不停止管道。
- 数据质量断路器:用于在数据质量低于阈值时停止管道执行。
使用方式
通过调用该技能来获得上述数据工程领域的指导。技能使用说明中包含快速开始部分,列出了适合调用与不适合调用的场景。更多细节可参考技能附带的 REFERENCE.md(详细技术参考)和 EXAMPLES.md(代码示例与模式)。具体安装命令与平台信息暂未提供。
质量检查清单
数据管道方面:需确认幂等(可安全重试)、强制模式校验、带重试的错误处理、自动化数据质量检查、配置监控与告警、记录血缘。
性能方面:管道应在 SLA 内完成(例如小于 1 小时)、在适用处使用增量加载、优化分区策略、查询性能低于 30 秒(P95)。
成本优化方面:实施存储分层(热/温/冷)、配置计算自动扩缩、启用查询成本监控、开启压缩(Parquet/ORC)。
限制
该技能不适合仅需 SQL 查询优化、机器学习模型开发、简单数据分析或可视化、数据库管理、以及无数据转换的 API 集成等场景,这些应改用其他对应技能。关于该技能的具体收费、价格、支持平台及安装方式,资料中暂未提供。