当前位置:文档之家› 数据抽取、清洗与转换 BI项目中的ETL设计详解

数据抽取、清洗与转换 BI项目中的ETL设计详解

数据抽取、清洗与转换 BI项目中的ETL设计详解
数据抽取、清洗与转换 BI项目中的ETL设计详解

数据抽取、清洗与转换BI项目中的ETL设计详解

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。ETL 是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。

ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW中去。

ETL的实现有多种方法,常用的有三种,第一种是借助ETL工具如Oracle的OWB、SQLserver2000的DTS、SQLServer2005的SSIS服务、informatic等实现,第二种是SQL方式实现,第三种是ETL工具和SQL相结合。前两种方法各有优缺点,借助工具可以快速的建立起ETL工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,极大的提高ETL的开发速度和效率。

数据的抽取

数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统的数据库服务器运行什么DBMS?是否存在手工数据,手工数据量有多大?是否存在非结构化的数据?等等类似问题,当收集完这些信息之后才可以进行数据抽取的设计。

1、与存放DW的数据库系统相同的数据源处理方法

这一类数源在设计比较容易,一般情况下,DBMS(包括SQLServer,Oracle)都会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select 语句直接访问。

2、与DW数据库系统不同的数据源的处理方法。

这一类数据源一般情况下也可以通过ODBC的方式建立数据库链接,如SQLServer和Oracle之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt或者是.xls文件,然后再将这些源系统文件导入到ODS中。另外一种方法通过程序接口来完成。

3、对于文件类型数据源(.txt,,xls),可以培训业务人员利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库抽取。或者可以借助工具实现,如SQLSERVER2005的SSIS服务的平面数据源和平面目标等组件导入ODS中去。

4、增量更新问题

对于数据量大的系统,必须考虑增量抽取。一般情况,业务系统会记录业务发生的时间,可以用作增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务系统取大于这个时间的所有记录。利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。

数据的清洗转换

一般情况下,数据仓库分为ODS、DW两部分,通常的做法是从业务系统到ODS做清洗,将脏数据和不完整数据过滤掉,再从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。

1、数据清洗

数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据三大类。

A、不完整的数据

其特征是是一些应该有的信息缺失,如供应商的名称,分公司的名称,客户的区域信息缺失、业务系统中主表与明细表不能匹配等。需要将这一类数据过滤出来,按缺失的内容分别写入不同Excel文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。

B、错误的数据

产生原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于全角字符、数据前后有不面见字符的问题只能写SQL的方式找出来,然后要求客户在业务系统修正之后抽取;日期格式不正确的或者是日期越界的这一类错误会导致ETL运行失败,这一类错误需要去业务系统数据库用SQL的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。

C、重复的数据

特别是维表中比较常见,将重复的数据的记录所有字段导出来,让客户确认并整理。

数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤、是否修正一般要求客户确认;对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,在ETL开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快的修正错误,同时也可以作为将来验证数据的依据。数据清洗需要注意的是不要将有用的数据过滤掉了,对于每个过滤规则认真进行验证,并要用户确认才行。

2、数据转换

数据转换的任务主要是进行不一致的数据转换、数据粒度的转换和一些商务规则的计算。

A、不一致数据转换

这个过程是一个整合的过程,将不同业务系统的相同类型的数据统一,比如同一个供应商在结算系统的编码是XX0001,而在CRM中编码是YY0001,这样在抽取过来之后统一转换成一个编码。

B、数据粒度的转换

业务系统一般存储非常明细的数据,而数据仓库中的数据是用来分析的,不需要非常明细的数据,一般情况下,会将业务系统数据按照数据仓库粒度进行聚合。

C、商务规则的计算

不同的企业有不同的业务规则,不同的数据指标,这些指标有的时候不是简单的加加减减就能完成,这个时候需要在ETL中将这些数据指标计算好了之后存储在数据仓库中,供分析使用。

鼎信诺前端数据提取及数据转换说明

鼎信诺前端数据提取步骤 1、将前端取数文件夹拷贝到U盘中 然后将U盘插在企业财务电脑上(数据库服务器),双击Sjinput51进入,打开dataget.exe文件 进入取数界面; 2、选择“财务数据提取”和“操作系统环境”(右键我的电脑,点击属性,可查看),点击确认; 3、在财务软件列表中选择相应财务软件接口,或者在右上角的“模糊查询”区域输入财务软件拼音首字母 例如用友u8 我们就可以输入“YY”进行过滤选择好财务软件后 我们点击右下角的“下一步”; 4、数据库类型选择,用友软件一般为“access” 进入单机版取数界面,点击下一步; 5、点击浏览选取企业的备份数据; 6、浏览找到企业的数据库备份 后缀为.mdb 然后点击“打开”按钮; 7、点击“连接”按钮后 左下角区域出现账套名称和会计年选择需要的账套名称和会计年以后点击“开始取数”按钮进行取数; 8、取数完毕以后会弹出保存文件的对话框选择文件路径、文件名称以后 点击“保存”按钮,保存为后缀为.sjc的文件单机版取数完成(一般默认会导入U盘)。 鼎信诺导出数据转换步骤 1、打开鼎信诺,选择创建项目,点击确定; 2、在创建新审计项目中填上新项目名称,然后点击下一步; 3、选择审计期间,比如:2015年1-12月,点击创建单一公司或创建集团公司; 4、选择会计制度,点击下一步; 5、输入被审计单位名称等信息; 6、设置权限,点击确认,开始导入数据; 7、登录先建项目,点击确认; 8、点击“财务数据”,点击“前端数据导入”,选择文件,即导出的数据,选中后点击打开; 9、选择期数,确认;

10、点击“开始导数”,导数完成口进入数据检查,1、9、10是必须检查项; 11、点击确定,完成数据转换。

数据抽取、清洗与转换 BI项目中的ETL设计详解

数据抽取、清洗与转换BI项目中的ETL设计详解 ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。ETL 是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW中去。 ETL的实现有多种方法,常用的有三种,第一种是借助ETL工具如Oracle的OWB、SQLserver2000的DTS、SQLServer2005的SSIS服务、informatic等实现,第二种是SQL方式实现,第三种是ETL工具和SQL相结合。前两种方法各有优缺点,借助工具可以快速的建立起ETL工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,极大的提高ETL的开发速度和效率。 数据的抽取 数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统的数据库服务器运行什么DBMS?是否存在手工数据,手工数据量有多大?是否存在非结构化的数据?等等类似问题,当收集完这些信息之后才可以进行数据抽取的设计。 1、与存放DW的数据库系统相同的数据源处理方法 这一类数源在设计比较容易,一般情况下,DBMS(包括SQLServer,Oracle)都会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select 语句直接访问。 2、与DW数据库系统不同的数据源的处理方法。 这一类数据源一般情况下也可以通过ODBC的方式建立数据库链接,如SQLServer和Oracle之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt或者是.xls文件,然后再将这些源系统文件导入到ODS中。另外一种方法通过程序接口来完成。 3、对于文件类型数据源(.txt,,xls),可以培训业务人员利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库抽取。或者可以借助工具实现,如SQLSERVER2005的SSIS服务的平面数据源和平面目标等组件导入ODS中去。 4、增量更新问题 对于数据量大的系统,必须考虑增量抽取。一般情况,业务系统会记录业务发生的时间,可以用作增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务系统取大于这个时间的所有记录。利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。 数据的清洗转换

数据抽取过程

宿迁市公安局 数据资源整理说明 深圳市神盾信息技术有限公司二〇一六年七月

修订历史记录

目录 目录 目录 (3) 目录 (3) 1 引言 (4) 1.1 编写目的 (4) 1.2 抽取背景 (4) 2 ETL抽取数据过程 (4) 2.1 省厅下发数据 (4) 2.1.1 入所人员手机APP数据采集 (4)

1引言 1.1编写目的 ◆方便项目组相关人员进行数据抽取了解。 ◆详细记录工作流程以便日后查看。 本文档提供以下人员阅览: ◆公司宿迁市应急指挥中心系统建设项目的实施人员、研发人员、维护人员。 ◆宿迁市公安局应急指挥中心系统建设项目项目相关人员。 1.2抽取背景 ETL过程中的主要环节就是数据抽取、数据转换和加工、数据装载。为了实现这些功能,ETL工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。 2ETL抽取数据过程 2.1省厅下发数据 2.1.1入所人员手机APP数据采集 2.1.1.1f tp信息 建立ftp数据平台用于存放下发数据,具体信息如下:

2.1.1.2存储中间库 2.1.1.3抽取需求 获取数据后,打开xml文件进行分析,查看数据字段类型,如时间,如源数据时间字段为varchar类型,而目标表为date字段则会出现数据无法插入的情况,可将date字段改为varchar 字段进行抽取。 2.1.1.4抽取过程 建立数据库与kettle工具的连接,新建作业,先从ftp下载数据到本地,再将ftp多余数据删除,通过解压缩文件工具将数据解压进制定文件夹,如下图:

过\{.*\}\语句读取第一层文件夹内分属不同文件夹但属性相同的xml文件,如下图:

ETL数据抽取方法

目录 ETL简介 ............................................................................................ 错误!未定义书签。ETL抽取方案 . (2) 1.数据抽取 (2) 2.数据转换和加工 (3) 3.数据装载 (4) 4.时间戳方式 ............................................................................................... 错误!未定义书签。 5.全量删除插入方式..................................................................................... 错误!未定义书签。 6.全量比对方式............................................................................................ 错误!未定义书签。

ETL抽取方案 ETL 过程中的主要环节就是数据抽取、数据转换和加工、数据装载。 为了实现这些功能,ETL 工具会进行一些功能上的扩充,例如工作流、 调度引擎、规则引擎、脚本支持、统计信息等。 数据抽取 数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 从数据库中抽取数据一般有以下几种方式: 1)全量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的数据原封不动的从数 据库中抽取出来,并转换成自己的ETL 工具可以识别的格式。全量抽取比较简单。 2)增量抽取 增量抽取只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据。在ETL 使用过程中,增量抽取较全量抽取应用更广。如何捕获 变化的数据是增量抽取的关键。对捕获方法一般有两点要求:准确性, 能够将业务系统中的变化数据按一定的频率准确地捕获到;性能,不能 对业务系统造成太大的压力,影响现有业务。目前增量数据抽取中常用 的捕获变化数据的方法有: a)触发器方式(又称快照式) 在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的 数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过 的数据被标记或删除。 优点:数据抽取的性能高,ETL 加载规则简单,速度快,不需要修改业务系统表结构,可以实现数据的递增加载。 缺点:要求业务表建立触发器,对业务系统有一定的影响,容易对源数据库构成威胁。 b)时间戳方式 它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。 当进行数据抽取时,通过比较上次抽取时间与时间戳字段的值来决定抽 取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数 据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的 自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。 优点:同触发器方式一样,时间戳方式的性能也比较好,ETL 系统设计清晰,源数据抽取相对清楚简单,可以实现数据的递增加载。

DS工具抽取数据过程

DS工具抽取数据过程 一、在整个抽取制作前需要先新建全局变量,根据新建的变量设定抽取的方式以及文件的路 径。 1、新建全局变量: 进入Tools------Variables 右击点击Insert,插入需要设定的全局变量: $gvFileDir(excel表格所属的部门) $gvFileName(excel表格的文件名) $gvCurYear(excel表格的年份) $gvCurMonth(excel表格的月份)用于临时抽取 $gvRootDir(数据文件根路径) $isDelete(设置全新抽取或者增量抽取) 所需要新建的全局变量为以上6个。

2、抽取过程中全局变量的设定: 抽取的结构大致如下: 具体使用格式如下: 现在假设需要抽取C盘目录下“BI系统数据上报目录”文件夹里的财务部门中的一张名称为财务部-财务指标201101的excel表格。 1)设置全局变量初始化。 抽取方式有两种,根据需要可分别设定为临时抽取或者根据系统时间抽取: # 临时抽取方式: $gvCurYear = '2011'; $gvCurMonth = '01'; # 根据当前系统时间抽取方式 # 获取当前年份 $gvCurYear = to_char(add_months(sysdate(),-1),'yyyy');

# 获取当前月份 $gvCurMonth = to_char(add_months(sysdate(),-1),'mm'); 设定好抽取方式后需要设定文件根路径: (# 设置数据文件根路径 $gvRootDir = 'C:\\BI系统数据上报目录';) 在全局初始化里还需要设定一个全新抽取或者是增量抽取: (#设置全新抽取还是增量抽取。全新抽取设置1;增量抽取设置0。 $isDelete =1;) 2)设置局部初始化: $gvFileDir = $gvRootDir || '\\财务部'; $gvFileName = '财务部-财务指标 '|| $gvCurYear || $gvCurMonth ||'.xls'; 二、抽取过程的制作 现以WF_财务为例整个抽取结构如下图所示:

ETL数据抽取方案简介

ETL数据抽取方案简介

目录 ETL简介 (3) ETL抽取方案 (4) 1.数据抽取 (4) 2.数据转换和加工 (8) 3.数据装载 (9) 4.时间戳方式 ........................................................................................................................ 错误!未定义书签。 5.全量删除插入方式 ............................................................................................................. 错误!未定义书签。 6.全量比对方式..................................................................................................................... 错误!未定义书签。

ETL 简介 数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL 是企业数据集成的主要解决方案。 ETL 中三个字母分别代表的是Extract 、Transform 、Load ,即抽取、转换、加载。 (1)数据抽取:从源数据源系统抽取目的数据源系统需要的数据; (2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加工; (3)数据加载:将转换后的数据装载到目的数据源。 ETL 作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。现在越来越多地将ETL 应用于一般信息系统数据的迁移、交换和同步。一个简单ETL 流程如图1所示。 数据文件 其他 抽临时 转加目

ETL数据提取转换和加载解释

1 基本简介 ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。 2 主要特点 ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。 ETL一词较常出现在数据仓库,但其对象并不局限于数据仓库。 ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,从而影响到联机分析处理和数据挖掘的结果的质量。 数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中;在技术上,ETL主要涉及到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL的操作时间、顺序和成败对数据仓库中信息的有效性至关重要。 3 基本术语 ETL过程在很大程度上受企业对源数据的理解程度的影响,也就是说从业务的角度看数据集成非常重要。一个优秀的ETL设计应该具有如下功能: 3.1 1、管理简单 采用元数据方法,集中进行管理;接口、数据格式、传输有严格的规范;尽量不在外部数据源安装软件;数据抽取系统流程自动化,并有自动调度功能;抽取的数据及时、准确、完整;可以提供同各种数据系统的接口,系统适应性强;提供软件框架系统,系统功能改变时,应用程序很少改变便可适应变化;可扩展性强。 3.2 2、标准定义数据 合理的业务模型设计对ETL至关重要。数据仓库是企业唯一、真实、可靠的综合数据平台。数据仓库的设计建模一般都依照三范式、星型模型、雪花模型,无论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。 模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。

ETL数据抽取方案简介

目录 ETL简介 (2) ETL抽取方案 (2) 1.数据抽取 (2) 2.数据转换和加工 (5) 3.数据装载 (5) 4.时间戳方式 ............................................................................................... 错误!未定义书签。 5.全量删除插入方式..................................................................................... 错误!未定义书签。 6.全量比对方式............................................................................................ 错误!未定义书签。

ETL简介 数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。ETL 是企业数据集成的主要解决方案。 ETL 中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。 (1)数据抽取:从源数据源系统抽取目的数据源系统需要的数据; (2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加工; (3)数据加载:将转换后的数据装载到目的数据源。 ETL 作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。现在越来越多地将ETL 应用于一般信息系统数据的迁移、交换和同步。一个简单ETL流程如图1所示。 图1 ETL抽取方案 ETL 过程中的主要环节就是数据抽取、数据转换和加工、数据装载。 为了实现这些功能,ETL 工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。 1. 数据抽取 数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 从数据库中抽取数据一般有以下几种方式: 1)全量抽取 全量抽取类似于数据迁移或数据复制,它将数据源中的表或视图的

ETL数据抽取方案简介

ETL简介 ETL抽取方案 1. 数据抽取...... 2. 数据转换和加工. 3. 数据装载 ..... 4. 时间戳方式 .................. 5. 全量删除插入方式 6. 全量比对方式 .. 错误!未定义书签。错误!未定义书签。错误!未定义书签。

ETL简介 数据集成是把不同来源、格式和特点的数据在逻辑上或物理上有机地集中,从而提供全面的数据共享,是企业商务智能、数据仓库系统的重要组成部分。 ETL是企业数据集成的主要解决方案。 ETL中三个字母分别代表的是Extract、Transform、Load,即抽取、转换、加载。 (1)数据抽取:从源数据源系统抽取目的数据源系统需要的数据; (2)数据转换:将从源数据源获取的数据按照业务需求,转换成目的数据源要求的形式,并对错误、不一致的数据进行清洗和加______ —(3)数据加载:将转换后的数据装载到目的数据源。 ETL作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。现在越来越多地将ETL应用于一般信息系统数据的迁移、交换和同步。一个简单ETL 流程如图1所示。 ETL抽取方案 _ETL过程中的主要环节就是数据抽取、数据转换和加工、数据装载。为了实现这些功能,ETL工具会进行一些功能上的扩充,例如工作流、调度引擎、规则引擎、脚本支持、统计信息等。 1.数据抽取 —数据抽取是从数据源中抽取数据的过程。实际应用中,数据源较多采用的是关系数据库。 从数据库中抽取数据一般有以下几种方式:

数据提取、转换和加载ETL

ETL,Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic PowerCenter、AICloudETL、DataStage、Repository Explorer、Beeload、Kettle、DataSpider ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。 ETL一词较常出现在数据仓库,但其对象并不局限于数据仓库。 ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,从而影响到联机分析处理和数据挖掘的结果的质量。 数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中;在技术上,ETL 主要涉及到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL 的操作时间、顺序和成败对数据仓库中信息的有效性至关重要。 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)作为BI/DW(Business Intelligence)的核心和灵魂,能够按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。 ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。 信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而ETL则是主要的一个技术手段。如何正确选择ETL 工具?如何正确应用ETL? 目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle…… 开源的工具有eclips的etl插件。cloveretl. 数据集成:快速实现ETL ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系

ETL数据抽取方案简介

目录 ETL简介 (1) ETL抽取方案 (2) 1、数据抽取 (2) 2、数据转换与加工 (6) 3、数据装载 (7) 4、时间戳方式 ................................................................................................................... 错误!未定义书签。 5、全量删除插入方式......................................................................................................... 错误!未定义书签。 6、全量比对方式................................................................................................................ 错误!未定义书签。 ETL简介 数据集成就是把不同来源、格式与特点得数据在逻辑上或物理上有机地集中,从而提供全面得数据共享,就是企业商务智能、数据仓库系统 得重要组成部分。ETL 就是企业数据集成得主要解决方案。 ETL 中三个字母分别代表得就是Extract、Transform、Load,即抽取、转换、加载。 (1)数据抽取:从源数据源系统抽取目得数据源系统需要得数据; (2)数据转换:将从源数据源获取得数据按照业务需求,转换成目得数据源要求得形式,并对错误、不一致得数据进行清洗与加工; (3)数据加载:将转换后得数据装载到目得数据源。 ETL 作为构建数据仓库得一个环节,负责将分布得、异构数据源中得数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转 换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据

数据抽取、清洗与转换BI项目中ETL设计

数据抽取、清洗与转换BI项目中ETL设计 ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析的依据。 ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。 ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL 的时候也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是T(清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW中去。 ETL的实现有多种方法,常用的有三种,第一种是借助ETL工具如Oracle的OWB、SQLserverXXXX的DTS、SQLServerXXXX的SSIS服务、informatic等实现,第二种是SQL方式实现,第三种是ETL工具和SQL相结合。前两种方法各有优缺点,借助工具可以快速的建立起ETL工程,屏蔽复杂的编码任务,提高速度,降低难度,但是欠缺灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编

码复杂,对技术要求比较高。第三种是综合了前面二种的优点,极大的提高ETL 的开发速度和效率。 数据的抽取 数据的抽取需要在调研阶段做大量工作,首先要搞清楚以下几个问题:数据是从几个业务系统中来?各个业务系统的数据库服务器运行什么DBMS?是否存在手工数据,手工数据量有多大?是否存在非结构化的数据?等等类似问题,当收集完这些信息之后才可以进行数据抽取的设计。 1、与存放DW的数据库系统相同的数据源处理方法 这一类数源在设计比较容易,一般情况下,DBMS(包括SQLServer,Oracle) 都会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select语句直接访问。 2、与DW数据库系统不同的数据源的处理方法 这一类数据源一般情况下也可以通过ODBC的方式建立数据库链接,如SQLServer和Oracle之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt或者是.xls文件,然后再将这些源系统文件导入到ODS中。另外一种方法通过程序接口来完成。 3、对于文件类型数据源(.txt,,xls),可以培训业务人员利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库抽取。或者可以借助工具实现,如SQLSERVERXXXX的SSIS服务的平面数据源和平面目标等组件导入ODS中去

相关主题
文本预览
相关文档 最新文档