数据采集与预处理 课件 学习单元3-使用Kettle进行数据迁移和采集_第1页
数据采集与预处理 课件 学习单元3-使用Kettle进行数据迁移和采集_第2页
数据采集与预处理 课件 学习单元3-使用Kettle进行数据迁移和采集_第3页
数据采集与预处理 课件 学习单元3-使用Kettle进行数据迁移和采集_第4页
数据采集与预处理 课件 学习单元3-使用Kettle进行数据迁移和采集_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

使用Kettle进行数据迁移和采集学习单元3单元概述本单元学习利用ETL工具Kettle进行数据迁移和采集,运用Kettle的转换和作业等基本单元,完成一个业务表向分析表的迁移,并利用目标表所需,对源表数据进行处理。通过本单元学习,可以了解数据库ETL(抽取(extract)、转换(transform)、加载(load))的基本概念,掌握Kettle转换和作业的的基本操作和灵活应用。本学习单元以某校园小商品交易系统为例,通过业务表向分析表的迁移为例,分别通过数据预处理和迁移、定时执行作业两个任务学习Kettle工具中的转换和作业。教学目标了解应用系统数据转换迁移的必要性和相关理论知识。顺利完成数据迁移工作与上下级沟通,学会协调各种硬软件资源。掌握常用的kettle开源数据迁移工具,进一步深化数据库知识和工具的理解与应用。任务1使用Kettle工具进行数据迁移任务描述

软件项目开发中,经常需要对接其它关联的软件系统或者旧系统进行新业务开发或分析处理,这个过程中需要将源数据库的数据进行预处理后,通过自定义的程序或者ETL工具进行迁移或导出。

本任务的目标是对某校园商品交易系统的数据进行分析,将业务数据库中的商品表(goods)的数据按照分析的需要迁移到另外一个数据库的分析表goods_bak中。关键技术点是通过Kettle工具中的转换,对所需源数据库和目标数据库进行连接,采集所需要的字段和数据,运行转换,完成数据的预处理和迁移工作。任务分析1.Kettle的安装

使用Kettle之前必须安装JDK环境,这里选择安装JDK1.8。具体JDK安装步骤参照本书“Nutch爬取数据”部分JDK1.8版本的安装。任务实施Kettle可以在/网站下载到。下载好Kettle以后,直接解压,默认文件夹为data-integration。打开解压文件夹,可以看到文件夹下的文件。任务实施其中,spoon.bat为Windows系统下的启动文件,spoon.sh为Linux系统下的启动文件。双击spoon.bat可看到以下启动界面:任务实施2.使用Kettle创建转换

(1)创建一个简单的转换

针对MySQL数据库建立一个简单的转换,这个转换的实例是把一个商品交易系统数据库market中的物品表goods的一些数据拷贝到market_log数据库中的goods_bak表。任务实施2.使用Kettle创建转换

(1)创建一个简单的转换

针对MySQL数据库建立一个简单的转换,这个转换的实例是把一个商品交易系统数据库market中的物品表goods的一些数据拷贝到market_log数据库中的goods_bak表。任务实施1)创建一个转换点击文件-新建-转换,或点击左上角+号新建转换任务实施2)连接到market和market_log数据库在新建好的转换1左侧菜单主对象树里,右击DB连接,可以新建数据库连接,这里分别新建了两个连接conn_market和conn_market_log。连接好以后应该会在DB连接中出现两个数据库连接。任务实施3)在核心对象的输入中拖入一个表输入,并双击表输入对其进行属性设置。任务实施4)在核心对象中拖入插入/更新组件5)按住shift从表输入到插入/更新6)然后在对插入/更新进行配置,在用来查询的关键字中需要设置连接的字段。7)最后保存,并运行这个转换,如右下图显示,表示采集成功。数据迁移技术概述必备知识序号数据迁移方法方法简述举例1逻辑卷数据镜像方法对需要迁移的每个卷都做逻辑卷数据镜像如IBMLVM,Veritas,VxVM2直接拷贝方法利用操作系统命令直接拷贝要迁移的数据,然后复制到要迁移到的目的地如IBMAIXtar,dd,savevg,mksysb,cpio等命令3备份恢复方法利用备份管理软件对数据做备份,然后恢复到目的地如

IBMTSM,EMCLegatoNetWorker,Symantec,VeritasNetBackup等4数据库工具方法使用数据库的自身工具对数据进行迁移如OracleExport/Import,

OracleDataGuard,

GoldenGate,OracleLogminer,Quest,SharePlex5存储虚拟化的方法通过存储虚拟化技术将数据从源端迁移到目的地如

EMC

Invista、IBM的

SVC

LSI

StoreAge,SVM等6盘阵内复制方法通过盘阵内的复制软件,将数据源卷复制到数据目标卷如

EMC

TimeFinder,

IBMFlashCopy,HDS,ShadowImage等7直接的阵列到阵列复制方法通过盘阵复制软件对数据做迁移如

EMC

SRDF,HDS

的TrueCopy,IBM

的GlobalMirror

等8历史数据和异构数据间迁移方法通过数据提取、转移、装载工具或定制程序进行装载Kettle、Spoop、Flume等ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。常见于数据仓库开发中将数据由业务系统归集到数据仓库(DW)或者数据集市的过程。在ETL三个部分中,一般情况下,花费时间最长的是“T”(Transform,清洗、转换)的部分。(1)抽取作业将从源数据库(通常为业务系统)获得数据的过程。(2)转换作业这一步包含了数据的清洗和转换。数据清洗是过滤不符合条件或者错误的数据。数据转换包含了简单的数据不一致转换,数据粒度转换和耗时的数据关联整合或拆分动作。(3)加载作业(4)流程控制抽取加载和转换作业需要一个集中的调度平台控制他们的运行,决定执行顺序,进行错误捕捉和处理。常用的免费开源的ETL工具如下:1)Kettle可以管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

2)Sqoop主要用于在HADOOP与传统的数据库(mysql、postgresql等)进行数据的传递。3)Flume用于将日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储器中。Kettle简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle

中文名称叫水壶,该项目的主程序员MATT

希望把各种数据放到一个壶里,然后以一种指定的格式流出。

它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

PDIClient启动分为两种:一种是安装包方式安装,然后在菜单栏中启动,这种方式并不是我们想要的。另外一种是通过解压zip包,然后通过启动脚本spoon.bat或者spoon.sh启动Spoon。任务拓展1.数据转换处理对于新系统数据库字段值不一致的情况,Kettle中的转换提供了一系列数据处理的步骤,如字符串操作(去重,剪切等)、去除重复记录、增加序列、增加常量等。例如,增加常量:字符串操作:以去除字段值前后的空格为例,如图3-22,Trimtype的选项both去除前后空格,left去除左边空格,right去除右边空格值映射:2.使用脚本进行数据处理对于一些复杂的数据转换,Kettle可以利用Java和Javascript等脚本进行数据的处理,例如,主键ID为的UUID标识字段,源数据库是32位,目标系统在字符中加入了“-”成为了36位,可以利用Java脚本(前提要有JDK环境)进行处理。任务2利用kettle建立作业,定时执行转换任务描述

对设计好的转换,可能只是实现小部分功能,对于复杂业务,可能需要执行多个转换,而且对于需要频繁进行数据采集和迁移的系统,有必要进行定时自动运行。任务分析

本任务的目标是将之前的转换以定时执行的方式运行,关键技术点是通过Kettle工具中的作业组件进行配置。任务实施1.创建一个简单的作业2.拖入开始组件,这里设置的间隔时间的2分钟Start

是任务执行的入口,首先必须是任务可以执行。只有无条件的任务条目可以从Start入口连接。3.拖入转换组件,将刚刚保存的转换文件配置到Transformation属性中。4.点击运行按钮,就可以运行配置的作业。需要注意的是,定时作业不能关闭spoon.bat窗口,可以将工具部署到服务器上,通过Linux的crontab定时执行。必备知识kettle工具的脚本文件和主要组件Kettle中有两种脚本文件,transformation(转换,文件后缀名.ktr)和job(作业,文件后缀名.kjb),transformation完成针对数据的基础转换,job则完成整个工作流的控制。

作业(Job),相较于转换,是更加高级的操作。一个作业里包括多个作业项(JobEntry),一个作业项代表了一项工作,而转换是一种作业项,即作业里面可以包括多个转换。Kettle有三个主要组件:Spoon、Kitchen、PanSpoon:是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。Kitchen:利用Kitchen可以使用命令行调用JobPan:利用Pan可以用命令行的形式调用TransCarte:Carte是一个轻量级的Web容器,用于建立专用、远程的ETLServer。任务拓展Kettle的转换和作业可以用命令行的方式来运行以Windows操作系统环境为例,转换(.ktr)可以通过Pan.bat来运行的。在cmd命令行窗口下,转到Pan.bat所在的目录,如E:\data-integration,然后执行上节任务创建的转换文件tran_goods.ktr,命令为:Pan/fileE:\data-integration\ktr_goods.ktr作业(.kjb)的运行可以通过kitchen.bat来运行的。在cmd命令行窗口下,转到kitchen.bat所在的目录,如E

温馨提示

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

评论

0/150

提交评论