Kettle和ETL的基本构成
不多说,直接上干货!
这里,我说的通俗易懂点,好方便大家的理解。
ETL解决方案就像业务流程一样,具有输入、输出,以及一个或多个工作环节,处理步骤。同样的,这些步骤也具有输入和输出,并可以执行将一个输人转化为输出的操作。
想一想,例如,在一家保险公司理赔部,门上有一个大牌子,上面写着理赔部,这就意味着它描述了部门的主要职责和业务:处理理赔。而在部门里,你会发现每张办公桌上或分部门可能有其自身的特点:健康保险理赔、汽车保险理赔、旅游保险理赔,等等。当接纳一个理赔案件时,首先确定这个理赔将被哪个部门处理。然后部门办公人员根据是杏有提供理赔必需的信息来决定是否处理它,如果不符合的话,退回给提交者,并且给予说明。理赔处理的工作时间是每天早上9点到下午5点。
这个例子和ETL处理过程非常相似:首先一个验证步骤去确定到达的或者被抽取的数据是哪种类型,然后数据被送到一个特定转换去处理。当转换执行完后,数据将被传递到下一个转换或者一个目标表,并在发生错误的情况下,被转移到一个错误处理流程进行处理。每个晚上凌晨3点,一个调度程序开始此项任务并且直到所有数据被处理才结束。
你现在可能能对设计ETL处理流程有一个整体的认识了。从前面的例子可以推断出,必须有某种机制来控制整个处理流程,以及实际转换的细节工作。用Kettle的术语阐述的话,前而部分称为作业(job ),后面部分称为转换(transformation )。
作业是ETL解决方案的代理,而转换是基础的构建两部分。

独立的转换能够被链接在一起形成一个具有逻辑顺序的队列,形成一个能被调度和执行的作业,就像一个业务流程。同样的,转换也是由几个步骤组成的。步骤是Kettle解决方案的第三种基本构成块,而步骤之间的连接关系由跳(hop)来决定。
Kettle和ETL的基本构成的更多相关文章
- 部署Kettle做ETL开发并使用Crontab制作调度系统
背景说明: 在数据量较小,且数据源和装载地都是关系型数据库时,使用Kettle做ETL较为简便. 由于调度系统产品因为服务器环境方面的因素,而无法部署,故使用Linux的crontab定时器来制作简易 ...
- 开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度
1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳 ...
- Kettle中ETL的效率优化
ETL效率优化 开启数据库日志记录及性能监控 如果我们想要优化一个ETL(KTR或者KJB)的性能,我们首先需要知道的就是它的瓶颈在哪里.而这些信息一般只能在ETL运行的步骤度量中看到,并且是不会持久 ...
- ETL利器Kettle
ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析 ...
- ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...
- 数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )
ETL是什么?为什么要使用ETL?KETTLE是什么?为什么要学KETTLE? ETL是数据的抽取清洗转换加载的过程,是数据进入数据仓库进行大数据分析的载入过程,目前流行的数据进入仓库的 ...
- Kettle实现数据抽取、转换、装入和加载数据-数据转移ETL工具
原文地址:http://www.xue51.com/soft/5341.html Kettle是来自国外的一款开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需 ...
- ETL第一篇(Kettle Spoon) 初遇
ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...
- etl学习系列1——etl工具安装
ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可 ...
随机推荐
- query.setFirstResult解析
转自:https://blog.csdn.net/thinkingcao/article/details/78053622
- UINavi中push控制器的时候隐藏TabBar
当一个UITabbarController管理多个UINavigationController的时候,我们又从这每一个UINavigationController中push一个ViewControll ...
- 编译libvlc。。。
https://wiki.videolan.org/Win32Compile按照官网教程,安装所需工具,参考 :http://qjw.qiujinwu.com/blog/2014/12/08/cros ...
- quartz定时任务框架调度机制解析
转自集群调度机制调研及源码分析 quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附: 引言 qurat ...
- 在应用层通过spring特性解决数据库读写分离
如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1.应用层 http://neore ...
- MySQL_索引原理与慢查询优化
索引原理与慢查询优化 创建/删除索引的语法 #方法一:创建表时 CREATE TABLE 表名 ( 字段名1 数据类型 [完整性约束条件…], 字段名2 数据类型 [完整性约束条件…], [UNIQU ...
- hdu 1072 广搜(逃离爆炸迷宫)
题意: 在n×m的地图上,0表示墙,1表示空地,2表示人,3表示目的地,4表示有定时炸弹重启器.定时炸弹的时间是6,人走一步所需要的时间是1.每次可以上.下.左.右移动一格.当人走到4时如果炸弹的时间 ...
- spring的JdbcTemplate
一.首先配置JdbcTemplate: 要使用Jdbctemplate 对象来完成jdbc 操作.通常情况下,有三种种方式得到JdbcTemplate 对象. 第一种方式:我们可以在自己定 ...
- CF1041E Tree Reconstruction_构造_思维题
不难发现,每次询问结果一定是 (i,n)(i,n)(i,n), 而 iii 出现的次数恰好是 iii 到 i′i'i′ 的距离(i′i'i′ 是第一个不与 iii 相等的数).我们可以将这颗树构造成一 ...
- 使用面向对象技术创建高级 Web 应用程序
作者: 出处: 使用面向对象技术创建高级 Web 应用程序 来源:开源中国社区 作者:oschina 最近,我面试了一位具有5年Web应用开发经验的软件开发人员.她有4年半的JavaScript编程经 ...