预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据抽取、转换、加载ETL目录ETL工作流模型ETL概念模型例子在上面这个例子中,为了保证目标数据仓库中数据的完整性,需要从Sl和s2两个数据源抽取数据,对它们执行并(union)操作。为了与数据仓库中事实表的模式一致,必须对S1中的customer表和city表执行外连接,而且还要将S2中 date属性的数据类型为日期格式(mm/dd/yyyy)转换成中国的日期格式(yy/mm/dd),还需要根据s2的其他属性组合(name、email)为S2表计算生成一个主键。其中,并运算、外连接运算以及日期转换属于概念模型中的转换transform),其他的操作如PK、SK则属于约束(ETLconstrain)。ETL逻辑模型活动(activity)是ETL工作流的基本执行单元,是ETL逻辑模型中一个重要元素。它定义了输入数据模式、输出数据模式、活动的操作语义以及活动的执行优先级。活动的操作语义定义了活动对输入数据所执行的操作,以及输入数据模式到输出数据模式之间的映射关系,可以使用SOL语言或者其他的形式化语言对语义进行描述,也可以使用ETL工具箱中的操作组件和相应的运行时参数进行表示。在一个ETL流程中,必须明确规定每一个活动的执行优先级,ETL流程中的任意两个活动,如果存在依赖关系,即一个活动的输入模式依赖于另一个活动的输出模式(不一定是相邻活动),那么,这两个活动构成严格偏序关系,可以确定其执行的先后顺序。一般情况下,在一个ETL流程中,抽取操作(extract)总是最先执行,加载操作(load)最后执行。数据转换①直接映射:数据源字段和目标字段长度或精度相同,则无需做任何处理。 ②字符串处理:从数据源的字符串字段中获取特定信息作为目标数据库的某个字段,则对字符串的操作有类型转换、字符串截取等。由于字符类型字段的随意性也可能造成脏数据的出现,所以在处理这种规则的时候,需要异常处理。 ③字段运算:对于数值型字段来说,有时数据源的一个或多个字段进行数学运算而得到目标字段,则需要某些字段运算。 ④空值判断:对于数据源字段中的NULL值,可能在目标数据库进行分析处理时会出问题,因此必须对空值进行判断,并转换成特定的值。 ⑤日期转换:由于目标数据库中的日期类型格式是统一的,所以对数据源字段的日期格式需要相应的转换。 ⑥聚集运算:对于目标数据库事实表中的一些度量字段,通常需要通过数据源一个或多个字段运用聚集函数得来的,比如sum.count,avg,min,max,因此需要做相应的转换。 ⑦既定取值:这条规则对于目标字段取一个固定的或是依赖系统的值,而不依赖于数据源字段。ETL增量抽取机制触发器方式时间戳方式全表删除插入方式全表比对方式日志表方式系统日志分析方式ETL数据质量控制机制数据质量问题分类ETL并行控制技术确定ETL工作流活动优先级在上面的算法描述中,Ll将活动节点集的所有活动都放 在unvisited数组中,表示所有活动都是未访问的;L2一L6遍历整个节点集并判断活动act是否是起始操作,如果是则将其优先级设置为1,将其加入visited数组,并从unvisited数组中将其移除;L7一L12不断遍历unvisited数组直到其为空,L9表示如果一个活动act的所有前驱活动的优先级都已经确定,则act的优先级也可以确定,L10计算act所有前驱活动优先级的最大值,再加1作为act的优先级,同时将act加入visited数组,并从unvisited数组中将其移除。并行执行ETL工作流中的活动