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上,元信息 ...
随机推荐
- blog_html
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html> <html b:v ...
- 解读邮箱正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
转自:http://www.cnblogs.com/joyceTING/archive/2013/05/09/3069089.html正则表达式 \w+([-+.]\w+)*@\w+([-.]\w+) ...
- POJ 4007 Flood-it!
题目:http://poj.org/problem?id=4007 思路: (lyd学长的思路) IDA*算法,首先迭代加深限制搜索深度. 可以发现如果当前矩阵中除了左上角的连通块之外,共有M种颜色, ...
- 使用ajax验证用户名重复
继上次的用户注册登录案例之后,对其中的部分功能再做进一步改进.上一版中用户提交表单后才对用户名进行校验,虽然做了回显,但还是感觉功能弱了些.为了能有更好用户体验,不是在用户提交表单后才给提示,而是在用 ...
- UI Framework-1: Aura Layout Managers
Layout Managers LayoutManager is a convenient abstraction that separates messy layout heuristics fro ...
- TP5 上传文件
直接贴上一个完整的代码 /** * 图片上传方法 * @return [type] [description] */ /** * 1 获取到文件 * 2 验证文件的形状是不是符合上传的规则 * 3 i ...
- caioj 1072 动态规划入门(二维一边推5:最长公共子序列 LCSS加强版)
在51nod刷到过同样的题,直接秒杀 见https://blog.csdn.net/qq_34416123/article/details/81697683 #include<cstdio> ...
- STM32中断名词
1.NVIC的优先级概念 占先式优先级 (pre-emption priority): 高占先式优先级的中断事件会打断当前的主程序/中断程序运行— —抢断式优先响应,俗称中断嵌套. ...
- 9 hbase源码系列(九)StoreFile存储格式
hbase源码系列(九)StoreFile存储格式 从这一章开始要讲Region Server这块的了,但是在讲Region Server这块之前得讲一下StoreFile,否则后面的不好讲下去 ...
- ArcGIS api for javascript——放大时切换图层
描述 本例展示了如何在地图里指出显示的缓存或切片的细节等级(LODs).当打开示例地图,可以看到一些来自ArcGIS Online ESRI_Imagery_World_2D图层的影像.这个应用程序配 ...