数据工程实战
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/data-engineering-sh-h697e1。
技能介绍
要解决的具体问题
当数据管道从单机脚本演进到分布式集群时,常见的工程债会迅速累积。团队常遇到以下痛点:
- 批处理缺失:习惯性使用
row-by-row逻辑,导致集群资源浪费且执行极慢 - 数据不可信:上游脏数据直接进入数仓,且各阶段之间缺乏
data quality checks - 性能瓶颈:大表未按时间或类别进行分区,查询时被迫执行全表扫描
- 维护噩梦:缺乏数据血缘追踪,任务失败后难以回溯和幂等重跑
核心工作流与能力
本技能围绕标准化的数据工程生命周期展开,核心工作逻辑如下:
- 架构分层:强制遵循
Extract-Transform-Load三段式分离,确保数据流转清晰 - 性能调优:利用
Apache Spark进行批处理,开启adaptive query execution并优化分区策略 - 模型设计:指导构建标准的星型模型,明确区分
dimension与fact表 - 持续校验:提供落地级检查清单,涵盖质量门禁、
watermark增量处理与告警机制
适用边界与注意点
- 主要面向结构化数据的离线数仓场景,不包含流式计算的硬实时架构设计
- 需要根据实际业务量级调整分区粒度,过度分区同样会导致元数据膨胀
- 强调
additive changes,在处理破坏性 Schema 变更时仍需人工介入设计
使用场景
- 当你在重构一个逐行处理的旧 ETL 脚本,需要将其改为 Spark 批处理并按日期分区时
- 当数据仓库中的星型模型需要重构,但维度表和事实表边界模糊时
- 当上游数据源频繁变更 Schema,你需要确保管道能优雅处理 additive changes 时
- 当管道任务失败后需要重跑,但担心重跑结果与之前不一致时
适合人员
- 数据工程师:需要设计和维护分布式 ETL 管道,确保数据质量与性能
- 数据分析师:需要理解数据仓库的星型模型结构,以便正确编写查询
- 大数据平台工程师:负责优化 Spark 作业的分区策略和查询执行计划
- 数据团队负责人:需要建立数据质量门禁和血缘追踪规范,避免数据事故