ETL设计详解(数据抽取、清洗与转换).docx
ETL 设计详解(数据抽取、清洗与转换) ETL(Extract、Transform、Load)是 Business Intelligence(BI)项目中最重要的一个环节,占据整个项目时间的1/3。ETL 的设计分三部分:数据抽取、数据清洗转换、数据加载。在设计 ETL 时需要考虑多方面的因素,包括数据源、数据质量、数据加载方式等。 数据抽取 数据抽取是从不同的数据源抽取到 ODS(Operational Data Store)中的过程。在抽取过程中需要选择不同的抽取方法,尽可能提高 ETL 的运行效率。数据抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题: 1. 数据是从几个业务系统中来? 2. 各个业务系统的数据库服务器运行什么 DBMS? 3. 是否存在手工数据,手工数据量有多大? 4. 是否存在非结构化的数据? 根据数据源的不同,可以采用不同的抽取方法: 1. 与存放 DW 的数据库系统相同的数据源处理方法:可以通过数据库链接功能直接访问业务系统。 2. 与 DW 数据库系统不同的数据源的处理方法:可以通过 ODBC 的方式建立数据库链接。 3. 对于文件类型数据源(.txt, .xls):可以培训业务人员利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库抽取。 数据清洗 数据清洗是将不符合要求的数据过滤掉,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据三大类。 1. 不完整的数据:将缺失的信息补全后写入数据仓库。 2. 错误的数据:分类对待,不同类型的错误需要不同的处理方法。 数据加载 数据加载是在数据清洗完了之后直接写入 DW 中去。ETL 的实现有多种方法,常用的有三种: 1. 借助 ETL 工具,如 Oracle 的 OWB、SQL server 2000 的 DTS、SQL Server2005 的 SSIS 服务、informatic 等。 2. SQL 方式实现。 3. ETL 工具和 SQL 相结合。 ETL 设计的好坏直接关接到 BI 项目的成败。只有不断的发现问题并解决问题,才能使 ETL 运行效率更高,为项目后期开发提供准确的数据。
- 粉丝: 11
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助