任务2-数据预处理环境搭建.任务2-数据预处理环境搭建_第1页
任务2-数据预处理环境搭建.任务2-数据预处理环境搭建_第2页
任务2-数据预处理环境搭建.任务2-数据预处理环境搭建_第3页
任务2-数据预处理环境搭建.任务2-数据预处理环境搭建_第4页
任务2-数据预处理环境搭建.任务2-数据预处理环境搭建_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ETL数据预处理技术主讲人:赵美枝任务二部署ETL环境ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程ETL初识ETL现如今,数据已然成为一种战略资源,为了充分利用数据资源,使用ETL技术进行数据分析已成为企业决策的主要工作内容之一01.ETL简介02.03.目录ETL主要技术Kettle环境部署CONTENTS子任务2.1ETL简介随着企业的发展,各业务线、产品线、部门都会承建各种信息化系统方便开展自己的业务。随着信息化建设的不断深入,由于业务系统之间各自为政、相互独立造成的数据孤岛”现象尤为普遍,业务不集成、流程不互通、数据不共享。这给企业进行数据的分析利用、报表开发、分析挖掘等带来了巨大困难。在此情况下,为了实现企业全局数据的系统化运作管理(信息孤岛、数据统计、数据分析、数据挖掘),为DSS(决策支持系统)、BI(商务智能)、经营分析系统等深度开发应用奠定基础,挖掘数据价值,企业会开始着手建立数据仓库,数据中台。将相互分离的业务系统的数据源整合在一起,建立一个统一的数据采集、处理、存储、分发、共享中心。1、ETL概念实现商务智能(BusinessIntelligence,即BI)的核心和灵魂,一般情况下ETL会花费掉整个BI项目三分之一的时间,因此ETL设计的好坏直接影响到BI项目的成败。ETLExtract-Transform-Load用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,它能够对各种分布的、异构的源数据(如关系数据)进行抽取,按照预先设计的规则将不完整数据、重复数据以及错误数据等脏数据内容进行清洗,得到符合要求的“干净”数据,并加载到数据仓库中进行存储,这些“干净”数据就成为了数据分析、数据挖掘的基石。ETLBusinessIntelligence1、ETL概念1、ETL概念借助ETL工具借助Pentaho,Kettle工具,可快速建立ETL工程,屏蔽复杂的编码任务、加快速度和降低难度,但缺少灵活性01编写SQL语句该方式的优点是灵活,可以提高ETL的运行效率,但是编码复杂,对技术要求比较高。02ETL工具与SQL语句结合该方式综合了前面两种方式的优点,可以极大地提高ETL的开发速度和效率。03ETL实现方式2、ETL体系结构ETL主要是用来实现异构数据源数据集成的。多种数据源的所有原始数据大部分未作修改就被载入到ETL,因而,无论数据源在关系型数据库、非关系型数据库还是外部文件,集成后的数据都将被置于数据库的数据表或数据仓库的维度表中,以便在数据库内或数据仓库中作进一步地转换。2、ETL体系结构若数据源1和数据源2均为功能较强大的DBMS,可使用SQL语句完成一部分数据清洗工作。但是,如果数据源为外部文件,无法使用SQL语句进行数据清洗工作,只能直接从数据源中抽取出来,然后在数据转换时进行数据清洗工作。因此,数据仓库中的数据清洗工作主要是在数据转换时进行。清洗好的数据将保存到目标数据库中,用于后续数据分析、数据挖掘以及商业智能。ETL体系结构示意图3、数据仓库粮仓→粮食货仓→货物数据仓库?3、数据仓库简称DW,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,并对多样的业务数据进行筛选与整合数据仓库DataWarehouse3、数据仓库1分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果2可以作为各个业务的数据域,形成业务数据瓦相反馈的良性循环3整合公司所有业务数据,建立统一的数据中心4产生业务报表,用于做出决策5为网站运营提供运营商的数据支持数据仓库的作用3、数据仓库数据仓库与数据库等价吗??3、数据仓库数据库也称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发的支持用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。一般针对某些主题历史数据进行分析,支持管理决策。数据仓库3、数据仓库操作型处理(数据库)分析型处理(数据仓库)细节的综合或者提炼的实体-关系(E-R)模型星型模型或雪花模型存储瞬间数据存储历史数据,不包含最近的数据一次操作一个单元一次操作一个集合性能要求高,响应时间短性能要求宽松可更新的只读、只追加面向事务面向分析一次操作数据量小支持决策需求数据量小数据量大客户订单、库存水平和银行账户查询客户收益分析、市场细分3、数据仓库ETL是数据仓库应用中非常重要的一环,是承前启后的必要的一步。子任务2.2ETL主要技术1、数据抽取数据抽取就是从异构数据源抽取数据,但是并不是所有的数据源中的数据都有实际的价值。1、数据抽取方式说明触发器方式根据抽取要求,在要被抽取的数据源表上建立插入、修改、删除三个触发器,每当数据源表中数据发生变化,就被相应触发器将变化数据写入一个增量日志表中,ETL增量抽取是从增量日志中抽取,而不是直接在源表中抽取数据,同时增量日志表中抽取过的数据要及时被标记或者删除。时间戳方式在增量抽取时,抽取进程通过比较指定抽取时间与抽取源表的时间戳字段的值来决定抽取哪些数据。这种方式需要在源表中增加一个时间戳字段,系统中更新或修改源表数据的时候,也会同时修改时间戳字段的值。插入数据的时间戳是由系统时间指定。全表对比方式在增量抽取时,ETL进行逐条比较源表和目标表的每次从源表中读取所有记录,然后逐条比较源表和目标表的记录,将变化的记录过滤读取出来。日志表方式对于建立了业务系统的生产数据库的企业来说,可以在数据库中创建业务日志表,当特定需要监控的业务数据发生变化时,由相应的业务系统程序模块更新维护日志表的内容。增量抽取时,通过读日志表数据决定加载哪些数据及如何加载。日志表的维护需要由业务系统程序编写代码来完成。数据抽取的方式2、数据清洗数据的清洗转换是ETL中最为复杂的部分,主要任务是过滤掉不符合要求的数据,不符合要求的数据主要有不完整的数据、错误的数据、重复的数据三大类2、数据清洗

源头:当数据上报、接口调用时都会产生大量的不完整数据

事实:不完整数据的产生是不可避免的现象危害:不完整的数据对大数据环境下的决策具有一定的影响清洗流程:不完整数据2、数据清洗大数据环境下数据量的剧增使得获取到的数据源会由于各种原因存在大量的错误数据。尤其是业务系统不够健全的情况下,在接收输入数据后没有进行过滤判断,而是直接将数据写入到后台数据库,会造成大量错误数据产生。如数值数据输成全角数字字符、字符串数据后面出现一个回车操作、日期格式不正确、日期越界等错误。错误数据清洗的过程如下图:错误的数据2、数据清洗重复的数据源头:数据集成、系统重复录入等,通常表现为多条记录所表达的含义相同,或同一目标实体的记录虽然在形式上有所不同,但其描述的目标却相同。危害:重复记录的数据特征并不明显,但是对数据识别和数据清洗造成很大的难度。清洗目的:提高数据库使用率,降低系统消耗,并提高数据质量。采用排序合并算法清洗重复数据的流程图3、数据的加载数据加载是ETL的最后一个阶段,它的主要任务是将数据从临时数据表或文件中,加载到指定数据仓库中。一般来说,可以通过编写SQL语句和利用加载工具将数据加载到数据仓库中。通常加载方式有:全量加载增量加载批量加载子任务2.3Kettle环境部署1、认识kettle中文名称为水壶,其设计理念是主程序员Matt希望将来自不同数据库中的数据放到一个壶里,然后以一种指定的格式流出(即按照用户要求的格式进行输出)。Kettle支持管理来自不同数据库的的数据,通过提供一个图形化的用户环境来描述用户想要做什么,而不是用户想要怎么做。kettle一款国外免费开源的轻量级ETL工具,是基于Java语言开发的,可以在Windows、Linux、Unix系统上运行,并且是绿色无需安装的,它可以用于各种数据库之间数据的迁移。kettle1、认识kettleSpoonSpoon是Kettle的集成开发环境,它会提供一个基于SWT的图形用户界面,主要用于构建ETLJobs和Transformtions,也可以用于执行或调试作业、转换,还可以用于监控ETL操作的性能。windows选择spoon.bat,linux选择spoon.sh)PanPan是以命令行的方式执行Spoon生成的Transformtions程序,运行在后台,并且该组件没有图形化用户界面。KetchenKitchen是以命令行的方式执行Spoon生成的Jobs程序,运行在后台,并且该组件没有图形化用户界面。CarteCarte是Kettle中的一个重要组件,是一个轻量级的web容器,用于建立专用、远程的ETLserverKettle工具主要是由四个组件组成,分别是Spoon、Pan、Kitchen及Carte组件Kettle工具的执行分为两个层次,即转换和作业,这两个层次的最主要区别在于数据传递和执行方式。Kettle的概念模型图如右图所示。1、认识kettle概念转换是ETL解决方案中重要的组成部分之一,主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的数据转换配置的逻辑结构。一个转换包括一个或多个步骤要素转换中的步骤是通过跳来连接的,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。在Kettle中,数据的单位是行,数据流就是数据行从一个步骤到另一个步骤的移动1、认识kettle转换1、认识kettle作业概念转换目前,大多数的ETL项目都需要完成各种各样的维护工作。例如,如何传送文件、验证数据库中的数据表是否存在等操作,这些操作都必须按照一定顺序完成,因此需要一个可以串行执行的作业来处理这些操作。要素一个作业包含一个或者多个作业项,并且这些作业项都是以某种顺序来进行执行的。作业执行的顺序由作业项之间的跳(JobHop)和每个作业项的执行结果来决定。2、kettle搭建先安装jdk-8u151-windows-x64(直接下一步即可),安装完成后,将安装路径复制在系统变量中第一步:搭建JDK环境2、kettle搭建注意:Kettle版本和JDK版本的兼容性2

安装MySQL8.0,或安装phpstudy,将MySQL的安装路径复制到系统变量中3下载Kettle安装包:下载地址/projects/pentaho/files/Data%20Integration/。4Kettle工具pdi-ce--342.zip直接解压,将安装路径复制到系统变量中2、kettle搭建5将数据库驱动mysql-connector-java-5.1.46-bin拷贝到ket

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论