ETL(数据仓库技术)

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。

一.抽取

方法有三种:

  1、利用工具,例如kettle,dataX,Informatica 等。。。

  2、利用存储过程.

  3、前两种工具结合.

抽取前的调研准备工作:

  1.弄清数据是从哪几个业务系统中来,各个业务系统的数据库服务器运行什么数据库管理系统

  2.是否存在手工数据,手工数据量有多大。

  3.是否存在非结构化的数据。

抽取中的数据处理方法:

  1. 业务系统服务器与数据仓库的数据库管理系统相同时,在数据仓库服务器与原业条系统之间建立直接的链接关系就可以写select语句直接访问

  2. 业务系统服务器与数据仓库的数据库管理系统不同时,对不能建立直接链接的话,可以将源数据导入.txt文件,在导入ODS中,或通过程序接口来完成

  3. 对于文件类型数据源(.txt.xls)利用数据库工程将这个数据导入指定的数据库,如(oracle的SQL*LOADER,db2的import),也可以直接使用Navicat 导入

  4. 在网络相通的情况下直接用etl工具抽取,目前此方法大量用于关系型数据库和大数据平台的数据互通

几种增量抽取方式

  1、触发器方式  2、时间戳方式  3、全表删除插入方式  4、全表比对方式  5、日志表方式  6、系统日志分析方式

二.清洗与转换

清洗

数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。

1)清洗的数据种类:

  1、去除/补全有缺失的数据,比如人的出生日期可以从身份证号码中提取

  2、去除/修改格式和内容错误的数据,比如日期的格式不相等

  3、去除/修改逻辑错误的数据,比如年龄大于200岁这明显不符合逻辑

  4、去除不需要的数据,也就是去重.

2)转换

  1.不一致数据转换:编码转换(m,f;男女);字段转换(balance,bal);度量单位的转换(cm,m)

  2.数据粒度的转换;业务系统数据存储非常明细的数据,而数据仓库中数据是用分析的,不需要非常明细,会将业务系统数据按照数据仓库粒度进行聚合.

  3.商务规则的计算.不同企业有不同的业务规则,不同的数据指标,在ETL过程,将这些数据计算好之后存储在数据仓库中,供分析使用(比如KPI)

三.加载经过前两步处理后的数据可直接加载入数据仓库

注:现在有很多项目都是先把数据集成到数据仓库之后在进行清洗转换也就是ELT的过程

posted @ 2020-09-03 15:26  苏su  阅读(780)  评论(1编辑  收藏  举报