kettle(一)概述
近期两个月一直和kettle打交道,从開始的没听说过,到如今能够熟练运用,不得不说项目驱动下,学习东西是最快的。好了,尽管使用kettle应付项目的任务绰绰有余。可是还是想系统的学习一下,总结一下。比如job用的比較少,kettle的集群模式没有涉及到等等。
说起kettle,还是先说说ETL(Extract-Transform-load,即抽取,转换。载入)数据仓库技术。是用来处理将数据从来源(比如:单位基础server)经过抽取。转换。载入到达至目的端(正在做的项目)的过程。
也就是新的项目须要使用曾经项目数据库中的数据,ETL就是解决问题的。
ETL实现共同注意点:、空值处理:可捕获字段空值。进行载入或替换为其它含义数据,并可根据字段空值实现分流载入到不同目标库。
2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自己定义载入格式。
3、拆分数据:根据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。比如,主叫号861082585313-8148。进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
5、数据替换:对于因业务因素。可实现无效数据、缺失数据的替换。
6、Lookup:查获丢失数据 Lookup实现子查询,并返回用其它手段获取的缺失字段,保证字段完整性。
7、建立ETL过程的主外键约束:对无依赖性的非法数据。可替换或导出到错误数据文件里。保证主键唯一记录的载入。
而,kettle则是当中的一种工具,其它还有:Informatica,Datastage,OWB,微软的DTS等等。
好。下边简单说说kettle。
kettle是一款国外开源(受欢迎)的ETL工具,纯Java编写(和Java开发非常好集成)。能够在Windows,Linux,Unix上运行(Linuxserver流行时代下,kettle更加受欢迎)。数据抽取高效稳定(更更受欢迎了)。kettle中文名俗称“水壶”,开发目的是将各种数据放到一个壶中。然后经过各种处理加工。以特定的格式流出。
kettle家族包含:Spoon,Pan,CHEF,Kitchen。
Spoon:是通过图形界面来设计ETL转换过程(Transformation)(最经常使用)。
PAN:同意批量运行由Spoon设计的ETL转换(比如使用一个时间任务调度器)Pan是一个后台运行程序,没有图形界面。
CHEF:同意创建任务(Job)。
任务通过运行,每一个转换。任务,脚本等。使其更加有利于完毕更为复杂的任务。
Kitchen:同意你批量使用由Chef设计的任务(比如使用一个时间调度器),也是后台运行程序。
kettle转换的设计包含几个方面:资源库,数据库连接,作业(job)。转换(trans),步骤(step)。形象的举一个样例:资源库相当于我们的一个Java项目 ,数据库连接相当于我们的Java项目中的连接数据库,Job相当于Java项目中的一条线,而Trans相当于Java的一个个类,Step则是类中的方法。
所以从这个层面来看,事实上Kettle还是非常easy的。
须要我们做的就是建好资源库,连接好数据库。建立转换。写好类中的每一个步骤,将转换连接起来组成任务(当然转换也能够独立运行)。
好,最后看一下什么时候适合使用kettle。
这样一个项目A,这个项目A须要实施到非常多家企业。而项目A须要用到每家企业的数据库基础数据。比如员工。组织结构,客户,供应商等等一些基础数据。这时候kettle就能够非常轻松的完毕任务。也就是说,我们的项目须要用到大量的数据库之间迁移数据。
好,kettle理论简单介绍,后边看kettle简单使用。最后附一张kettle工具的界面图:
kettle(一)概述的更多相关文章
- 2016/11/10 kettle概述
ETL(Extract-Transform-Load,即抽取,转换,加载),数据仓库技术,是用来处理将数据从来源(以前做的项目)经过抽取,转换,加载到达目的端(正在做的项目)的过程.也就是新的项目需要 ...
- Kettle解决方案: 第二章 Kettle基本概念
2概述 设计模块最主要的操作分为: 转换和作业 选择转换和作业后就可以选择对应主对象树和核心对象 主对象树大同小异 核心对象是不同的 比如转换需要用到的CSV表输入, 表输入等都在这里可以选择 而作业 ...
- Storm Topology 提交 总结---Kettle On Storm 实现
一,目的 在学习的过程中,需要用到 PDI---一个开源的ETL软件.主要是用它来设计一些转换流程来处理数据.但是,在PDI中设计好的 transformation 是在本地的执行引擎中执行的,(参考 ...
- kettle学习笔记(十)——数据检验、统计、分区与JS脚本
一.概述 数据剖析和数据检验: 用于数据的检查.清洗 . 统计步骤: 提供数据采样和统计的功能 分区: 根据数据里某个字段的值,拆分成多个数据块.输出到不同的库表和文件中. 脚本: Javascrip ...
- kettle学习笔记(九)——子转换、集群与变量
一.概述 kettle中3个重要的步骤: 子转换/映射 在转换里调用一个子转换,便于封装和重用. 集群 集群模式 变量和参数 变量和参数的用法 二.子转换 1.定义子转换 主要由映射输入与映射输出定义 ...
- kettle学习笔记(八)——kettle查询步骤与连接步骤
一.概述 查询步骤: 用来查询数据源里的数据并合并到主数据流中 . 连接步骤: 结果集通过关键字进行连接 .(与前面的UNION不同) 二.查询步骤 1.流查询 流查询示例:(注意上文中的流查询的限制 ...
- kettle学习笔记(一)——入门与安装
一.概述 1.kettle是什么 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定.中文名称叫水壶,该项目的主程序 ...
- 大数据入门第五天——离线计算之hadoop(上)概述与集群安装
一.概述 根据之前的凡技术必登其官网的原则,我们当然先得找到它的官网:http://hadoop.apache.org/ 1.什么是hadoop 先看官网介绍: The Apache™ Hadoop® ...
- Hive2.2.1概述(待重写)
概述 hive 是一个包裹着 hdfs 的壳子,hive 通过 hql,将 sql 翻译成 MR ,进行数据查询. Hive是⼀个构建在Hadoop之上的数据仓库 hive的数据存在hdfs上,元信息 ...
随机推荐
- hdoj--3183--A Magic Lamp(贪心)
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- poj--1703--Find them, Catch them(并查集巧用)
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64 ...
- WHERE、ORDER BY、GROUP BY、HAVING语句解析(二十八)
之前啊,我们提及到,对于update和delete,若不带where条件,则对所有记录都有效. 一.WHERE条件表达式 (1)对记录进行过滤,如果没有指定WHERE子句,则显示所有记录. (2)在W ...
- Python 从入门到精通 全程最佳实现梳理
零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,26年前 编程泛型 多泛型.面向对 ...
- java操作文件创建、删除
java操作文件创建.删除: package test; import java.io.File; import java.io.IOException; import org.slf4j.Logge ...
- Android 在Android手机上获取其他应用的包名及版本号
获取Android手机上其他应用的包名及版本号方法有很多,可以通过AAPT从APK包中直接获取,也可以通过代码在手机上获取.显然,对于产品或者用户来说要获取这些信息,在手机上获取更为简便. 下面我们来 ...
- PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(2)
2.2 XLOG和复制 在本章中,您已经了解到PostgreSQL的事务日志已经对数据库做了所有的更改.事务日志本身被打包为易用的16MB段. 使用这种更改集来复制数据的想法是不牵强的.事实上,这是在 ...
- [POI2008]KUP-Plot purchase(单调队列)
题意 给定k,n,和n*n的矩阵,求一个子矩形满足权值和在[k,2k]之间 , 题解 这里用到了极大化矩阵的思想.推荐论文<浅谈用极大化思想解决最大子矩阵问题>Orz 如果有一个元素在[k ...
- Unity 编辑器学习(三)之 Light & Baked
上一篇博客已经详细的介绍GI了,接下来我们讲点实际的,怎么烘焙场景及注意事项. 一.Light Property: Function: Type 当前灯光的类型.有四种类型:Directional, ...
- XML和Schema命名空间详解
来源:https://blog.csdn.net/wanghuan203/article/details/9204337 XML和Schema具有无关平台,技术厂商,简单,规范统一等特点,极具开放性, ...