ETL Pipeline 是一个用于设计和自动化 Extract、Transform、Load 数据管道的技能,主要服务于数据集成与分析场景。
用途 该技能围绕数据管道的三个核心阶段展开:从各类数据源抽取数据、对数据进行转换处理、将结果加载到分析型存储中。资料给出的整体架构为:抽取阶段支持 Postgres、MySQL、MongoDB、API 以及 CSV/JSON 文件等来源;转换阶段包含清洗与校验、聚合与关联、规范化、去重、指标计算和业务规则应用;加载阶段面向 BigQuery、Snowflake、Redshift 和数据湖等目标。
主要能力 在来源连接方面,资料提供了数据库连接配置示例,包括 Postgres 的增量抽取(以 updated_at 为键、批量大小 10000)、MySQL 的 CDC(binlog)、MongoDB 的 change_streams,以及 REST API(如 Stripe,支持 bearer_token、cursor 分页、速率限制)和 Salesforce(oauth2、bulk_api)等 API 来源配置。
在转换层,资料列出了常见转换操作,如空值填充、日期标准化(ISO8601)、货币换算、按关键列去重(保留最新),并给出聚合规则示例(按日期和产品类别统计交易数、总收入、平均订单价值、去重客户数)以及关联操作示例(订单与客户、产品信息的左连接)。
在加载策略方面,资料提供了 BigQuery 加载配置(schema 定义、WRITE_APPEND、按 customer_id 聚类、按 created_at 按天分区)和 Snowflake 加载配置(仓库、数据库、schema、stage、COPY 选项如 on_error、purge、列名大小写不敏感匹配)。
在管道编排方面,资料给出了 DAG 定义示例,包含每日 2 点调度(cron 表达式)、抽取订单与客户、转换数据、加载仓库、完成后通知等任务及其依赖关系。错误处理部分包含重试(最多 3 次、延迟 300 秒、指数退避)、失败时记录日志、发送告警、保存失败记录,以及死信队列(目标 s3://etl-errors/、保留 30 天)。
数据质量方面,资料提供了校验规则示例,包括非空检查、范围检查、唯一性、引用完整性和新鲜度检查,并给出质量指标报告的结构示例(处理总量、通过/失败数量、按问题类型统计)。监控与告警部分包含管道时长、处理记录数、错误数、数据新鲜度等指标,以及管道失败、高错误率、管道变慢、数据新鲜度超阈值等告警配置示例。
使用方式 资料以配置片段和示例代码的形式展示各项能力,涵盖 YAML 配置、SQL 查询和 Python 字典结构。资料未提供具体的安装命令、运行命令或完整的使用步骤,这些内容暂未提供。
适用场景 适用于需要从多种数据源整合数据、进行清洗转换后加载到数据仓库或数据湖,并希望具备调度编排、错误处理、数据质量校验和监控告警能力的数据集成与分析工作。
限制 资料未说明该技能的具体运行环境、依赖组件、支持的平台范围、收费方式或性能表现,这些内容暂未提供。资料中列出的最佳实践包括增量加载、幂等性、分区、监控、文档、测试和版本控制,可作为设计参考。