您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > ETL及kettle介绍
目录1.ETL知识........................................................................................................................................21.1.ETL定义.............................................................................................................................21.1.1.定义........................................................................................................................21.1.2.前提........................................................................................................................21.1.3.原则........................................................................................................................21.2.模式及比较.......................................................................................................................31.3.ETL过程.............................................................................................................................61.3.1.总流程....................................................................................................................61.3.2.数据抽取流程........................................................................................................71.3.3.数据清洗流程........................................................................................................71.3.4.数据转换流程........................................................................................................91.3.5.数据加载流程......................................................................................................101.4.问题分析.........................................................................................................................111.4.1.字符集问题..........................................................................................................111.4.2.缓慢变化维处理..................................................................................................121.4.3.增量、实时同步的处理......................................................................................121.4.4.断点续传..............................................................................................................131.5.ETL工具...........................................................................................................................132.Kettle简介及使用......................................................................................................................142.1.什么Kettle?..................................................................................................................142.2.下载及安装Kettle..........................................................................................................142.3.Kettle简单例子...............................................................................................................162.3.1.启动Kettle...........................................................................................................162.3.2.创建transformation过程...................................................................................172.3.3.创建job过程.......................................................................................................372.3.4.命令行运行ktr和kjb.........................................................................................411.ETL知识1.1.ETL定义1.1.1.定义定义:数据的抽取(Extract)、转换(Transform)、装载(Load)的过程。目标:数据优化。以最小代价(包括对日常操作的影响和对技能的要求)将针对日常业务操作的数据转化为针对数据仓库而存储的决策支持型数据。1.1.2.前提确定ETL范围通过对目标表信息的收集,确定ETL的范围选择ETL工具考虑资金运行的平台、对源和目标的支持程度、可编程的灵活性、对源数据变化的监测、数据处理时间的控制、管理和调度功能、对异常情况的处理确定解决方案抽取分析、变化数据的捕获、目标表的刷新策略、数据的转换及数据验证1.1.3.原则应尽量利用数据中转区对运营数据进行预处理。保证数据的安全性、集成与加载的高效性。ETL的过程应是主动“拉取”,而不是从内部“推送”,其可控性将大为增强。流程化的配置管理和标准协议数据质量的保证正确性(Accuracy):数据是否正确体现在现实或可证实的来源完整性(Integrity):数据之间的参照完整性是否存在或一致一致性(Consistency):数据是否被一致的定义或理解完备性(Completeness):所有需要的数据是否都存在有效性(Validity):数据是否在企业定义的可接受的范围之内时效性(Timeliness):数据在需要的时间是否有效可获取性(Accessibility):数据是否易于获取、易于理解和易于使用数据格式错误(如缺失数据、数据值超出范围或数据格式非法等)数据一致性:数据源系统为了性能的考虑,会在一定程度上舍弃外键约束,这通常会导致数据不一致。例如在帐务表中会出现一个用户表中没有的用户ID,在例如有些代码在代码表中找不到等。1.2.模式及比较两种模式异构同构模式比较的维度:特点环境1.3.ETL过程1.3.1.总流程数据抽取数据清洗数据转换数据加载1.3.2.数据抽取流程数据来源文件系统,业务系统抽取方式根据具体业务进行全量或增量抽取抽取效率将数据按一定的规则拆分成几部分进行并行处理抽取策略根据具体业务制定抽取的时间、频度,以及抽取的流程1.3.3.数据清洗流程清洗规则:数据补缺对空数据、缺失数据进行数据补缺操作,无法处理的作标记数据替换对无效数据进行数据的替换格式规范化将源数据抽取的数据格式转换成为便于进入仓库处理的目标数据格式主外键约束通过建立主外键约束,对非法数据进行替换或导出到错误文件重新处理1.3.4.数据转换流程转换规则数据合并多用表关联实现,大小表关联用lookup,大大表相交用join(每个字段加索引,保证关联查询的效率)数据拆分按一定规则进行数据拆分行列互换排序/修改序号去除重复记录数据验证:lookup,sum,count1.3.5.数据加载流程实现方式优点缺点时戳方式在业务表中统一添加字段作为时戳,当OLTP系统更新修改业务数据时,同时修改时戳字段值源数据抽取相对简单清楚,速度快,适合数据的增量加载需要修改业务表中的数据结构,业务数据变动时工作量比较大,相对风险较大日志表方式在OLTP系统中添加日志表,业务数据发生变化时,更新维护日志表内容不需要修改业务表中的数据结构。源数据抽取简单清楚,速度快,适合数据的增量加载业务系统中更新记录日志操作麻烦全表对比方式抽取所有源数据,在更新目标表之前先根据主键和字段进行数据比对,有更新的进行update或insert对系统表结构没有任何影响,管理维护统一,可以实现数据的增量加载数据比对复杂,设计比较复杂,执行速度慢全表删除插入方式删除目标表数据,将源数据全部插入ETL规则简单,速度快对维表加代理健不适应,OLTP系统有删除数据时,不能在数据仓库体现被删数据,不能实现增量加载1.4.问题分析1.4.1.字符集问题1.字符集定义字符集是字符(包含字母,数字,符号和非打印字符等)以及所指定的内码所组成的特定的集合。是基于某种操作系统平台和某种语言集支持的。语言集的集合被称为语言组,它可能包含一种或多种语言。2.C/S字符集转换直接转换对于同一语言组的不同字符集之间,可以直接进行字符的转换,不会产生乱码通过Unicode转换Unicode支持超过650种语言的国际字符集Unicode系统缺省字符
本文标题:ETL及kettle介绍
链接地址:https://www.777doc.com/doc-5693359 .html