数据仓库与数据挖掘记录 三

数据仓库的数据存储和处理

数据的ETL过程

数据 ETL 是用来实现异构数据源的数据集成,即完成数据的抓取/抽取、清洗、转换 .加载与索引等数据调和工作,如图 2. 2 所示。
在这里插入图片描述

1)数据提取(Extract)
从多个数据源中获取原始数据(如数据库、日志文件、API、云存储等)。
数据源可能是结构化(如 MySQL)、半结构化(如 JSON)、非结构化(如文本)。
关键技术:SQL 查询、Web 爬虫、日志采集工具(如 Flume)。

2)数据转换(Transform)
对数据进行清洗、规范化、聚合、去重等处理,以满足数据仓库的需求
典型转换操作:
数据清洗:去除重复值、填充缺失值、数据格式转换。
数据标准化:将数据转换为统一格式(如日期格式统一为 YYYY-MM-DD)。
数据聚合:按时间、类别等维度汇总(如计算日均销售额)。
数据去重:删除重复记录。
关键技术:Python Pandas、SQL 处理、Spark 数据流处理。

3)数据加载(Load)
将转换后的数据存入数据仓库或数据湖,供 BI 分析或机器学习使用
加载方式:
全量加载:一次性导入所有数据,适用于初始化。
增量加载:只导入新增或变更的数据,适用于日常更新。
关键技术:批量插入(Batch Insert)、流式数据处理(Kafka + Spark Streaming)。

ETL 的目标

抽取、转换、加载过程的目的是为决策支持应用提供一个单一的、权威的数据源。因此,要求 ETL 过程产生的数据(即调和数据层)是详细的、历史的、`规范化的.可理解的.即时的和质量可控制的。

(1) 详细的。数据是详细的(不是概括的) ,为不同用户构造数据提供最大灵活性,以满足他们的需要。