1、数据抽取数据抽取2015年9月2 日 数据分析事业部数据分析事业部 舒礼明舒礼明2022-5-201目录:1.ETL定义2.ETL过程3.问题分析4.现状分析培训目的:掌握ETL基本概念了解ETL的问题以及现状2目录:1.ETL定义2.ETL过程3.问题分析4.现状分析3ETL定义ETL定义涉及以下内容:ETL 定义ETL定义:数据的抽取(extract)、转换(transform)、装载(Load)的过程。ETL 前提 确认ETL范围:通过对目标表信息的收集 选择ETL工具:a.考虑资金 b.运行的平台、对源和目标的支持程度、数据抽取管理监控功能、对异常情况处理。 确认解决方案:抽取分析、变
2、化数据的捕获、目标表的刷新策略、数据的转换以及数据验证ETL 原则 1.尽量对数据进行预处理。保证数据的安全性、集成与加载的高效性。 2.ETL的过程是主动的“拉取”,而不是从内部“推送”,起可控性将大为增加。 3.流程化的配置管理 4.数据质量的保证 :正确性、一致性、完成性、有效性、可获取性4目录:1.ETL定义2.ETL过程3.问题分析4.现状分析5l数据抽取l数据清洗l数据转换l数据加载ETL过程6ETL过程7ETL过程.数据抽取8ETL过程.数据抽取 数据来源文件系统、业务系统 抽取方式根据具体业务进行全量或者增量抽取 抽取效率将数据按照一定的规则拆分成几部分进行并行处理 抽取策略根
3、据具体的业务制定抽取的时间、频度,以及抽取的流程9ETL过程.数据清洗10ETL过程.数据清洗 数据不缺对空数据、缺失数据进行数据不缺操作,无法处理的作标记 数据替换对无效数据进行数据替换 格式规范化将源数据抽取的数据格式转换成为便于进入仓库处理的目标数据格式 主外键约束通过建立主外键约束,对非法数据进行替换或者导出到错误文件重新处理11ETL过程.数据转换12ETL过程.转换规则 数据合并多用表关联实现,大小表关联使用嵌套,大大表关联用join 数据拆分按一定规则进行数据拆分 行列互换 排序、修改序号 去除重复记录 数据验证:sum、count、查询维度表 实现方式A. 在ETL引擎中进行(
4、SQL无法实现的)B. 在数据库中进行(SQL 可以实现)13ETL过程.数据加载14ETL过程.数据加载15目录:1.ETL定义2.ETL过程3.问题分析4.现状分析16问题分析 数据异常将错误的信息单独输出,继续执行ETL,错误数据修改后再单独加载 中断ETL,修改后重新执行ETL原则:最大限度接收数据 环境异常对于网络中断等外部原因造成的异常,设定尝试次数或者尝试时间,超数或超时后,由外部人员手工干预 其他异常例如源数据结构改变、接口改变等异常情况,应进行同步后,再装载数据17ETL设计规范.开发 ETL开发首先要确定的是流程的执行顺序以及条;其次是具体表映射关系的定义,在数据库性能允许
5、的情况下,尽可能使用sql语句进行处理。 对于具体映射和流程的命名,应该以维护方便为前提:映射:以目标表名命名流程:以流程要实现的功能命名 不允许使用临时的SQL语句操作数据库,必须编写好的SQL脚本或存储过程 限定手工干预只能运行某个流程,不允许运行单个过程 每一项手工操作必须留下记录18ETL设计规范.设计 SQL语句应书写规范,关键字全部大写,同时应增加注释。 对于自定义咧,需要按照公司规范来命名,eg19常见问题的分析字符集问题缓慢变化维度处理增量、实时同步的处理错误数据的检测变换数据的捕获抽取异常中止的处理20ETL 工具厂商目前ETL工具来源:数据库厂商自带的ETL工具,如OWB等第三方工具提供商,如informatic等开源ETL工具,如kettle21谢谢观看!22