AI 术语表 · 基础 · 数据工程
数据管道
数据管道是把分散在各处的数据收集起来、加工成便于使用的形式、再搬运到所需存储的工作自动串联起来的处理流程。按步骤顺序可分为 ETL(提取→转换→加载)和 ELT(提取→加载→转换)两种方式。
工作原理
首先从应用数据库、网页日志、外部服务 API、Excel 文件等多个来源取出数据(提取,Extract)。接着统一格式,清理重复值和缺失值,并加上所需的计算(转换,Transform)。最后把整理好的数据放入数据仓库等存储中(加载,Load)。这一过程可以按批处理方式在固定时间集中处理,也可以按流式方式在数据产生时立即传送。
ETL 和 ELT 有什么不同
ETL 在放入存储之前完成转换。这是存储空间和计算资源昂贵时期常见的方式,优点是只存储整理好的数据。ELT 则先把原始数据原样放入存储,再在存储内部进行转换。随着云数据仓库计算能力的提升,这种方式被广泛使用;由于原始数据得以保留,日后也便于用其他方式重新加工。
ETL 与 ELT
ETL提取 → 转换 → 加载
- 只存储整理好的数据
- 存储资源昂贵时更有利
- 要重新加工须再从来源取出
ELT提取 → 加载 → 转换
- 原样存储原始数据
- 利用存储内部的计算能力进行转换
- 日后便于用其他方式重新加工
공통 两者都是把分散的数据汇集到一处以便分析的方法
为什么重要
仪表盘、报表、机器学习模型、RAG 聊天机器人,最终用的都是管道运送来的数据。管道一旦停止或输送了错误的值,其后的所有结果都会出错。因此在 AI 项目中,搭建数据管道花费的时间比做模型还多的情况很常见。
注意事项
源系统的格式如果在没有预告的情况下改变,管道很容易崩溃,因此需要能报告失败的监控。为了管理各步骤之间的顺序和重跑,常常会同时使用 Apache Airflow 等工作流管理工具。数据质量检查和个人信息处理也最好放进管道中。
示例
以购物网站为例,每天凌晨从订单数据库、会员数据库和广告平台取出效果数据,汇集到一个数据仓库中。早上上班的营销人员基于这些数据查看更新后的销售仪表盘,数据科学家则用同样的数据重新训练推荐模型。构建企业内部文档检索聊天机器人时,收集文档、进行分块和嵌入、再存入向量数据库的嵌入管道也是按同样原理运行的。