kettle初探
Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,到我用过的4.2版,还不支持noSQL,不知道4.4是不是支持了。
Kettle自己有三个主要组件:Spoon,Kitchen,Pan。其中Spoon是一个图形化的界面,用于windows的时候,先设置环境变量:pentaho_java_home,例如:C:\Program Files\Java\jdk1.7.0_25,其实就是你的java安装目录,1.6以上即可。windows下双击Spoon.bat就可以了,界面如下:
这里我建立了资源库,其实可以用文件形式存储,存储的结构都是xml,但是我还是觉得建立一个资源库比较好,以后看job等情况也比较简单,因为数据表的可读性比xml要好得多。建立资源库和文件资源库只需要把右上角的小加号点一下,就会出现如下如的界面:
选择第一个就是建立数据库版的资源库,之后:
之后:
测试通过之后点击OK就回到最开始的界面,这时候选择test数据库连接,然后出入你的工程(我是这么叫的)ID和name,这里要记住,因为以后kitchen调度的时候要输入这个参数。
在接下来弹出的框中都点“是”,然后会出现这个界面:
这步会在你的用户下建立很多表,所以最好单独给资源库建立一个用户,当然这是在oracle下,mysql下和DB2下最好也采用同样的方式,把资源库和其他库分开。检查一下:
SQL> conn wings/wings@prism
已连接。
SQL> select count(1) from r_repository_log;
COUNT(1)
----------
0
SQL>
表已经建好了。回到最开始的界面,选择test,点击确定,然后就会出现登录对话框,用户密码默认都是admin,以后可以自己改。
接下来就可以开始用这个工具了。
其实对于简单的数据库数据的抽取,基本只需要转换和作业这两种东西。下面就是建立一个转换的步骤:
1 点击文件-->新建-->转换。
2 在左侧的树状列表中选“主对象树”,新建DB连接。步骤和上面建资源库一样。一个目标库一个源库。
3 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,在“转换”处拖出一个字段选择来,如图:
每一个对象都可以双击修改属性,下面以抽取world数据库的city表为例。
双击表输入,选择数据库连接,选择源数据库,然后点击“获取SQL查询语句”,在弹出的对话框里进行选择即可,之后会变成这样:
下面点击表输出:
点击字段选择:
这样,一个简单的抽取数据的转换就完成了。执行之,点击上面的绿色开始按钮。
我也处在学习中,希望可以把我的经验分享给和我一样的入门者。
下面是补充部分:
在一个Job或者一个trans建立好之后,就可以建立定时任务了。如果是DS,那么DS客户端本身就支持schedule,但是Kettle因为没有服务端和客户端的概念,因此只有使用linux的crontab,其实Job本身也支持定时,但是你必须保证图形界面一直开着,这样并不如crontab那么好。在命令行里使用kettle很简单,Job用kitchen调度,trans用pan调度。
下面是一个kitchen的调度命令:
bash /home/kettle/data-integration/kitchen.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /job jobname
rep那里写自己的资源库名称。
trans和上面一样,略有不同:
bash /home/kettle/data-integration/pan.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /trans transname
kettle初探的更多相关文章
- KETTLE教程实战
kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...
- KETTLE入门教程-单表读取
kettle初探 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定.Kettle 中文名称叫水壶,该项目的主程 ...
- 几款开源的ETL工具及ELT初探
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL 是构建数据仓 ...
- 数据迁移实战:基于Kettle的Mysql到DB2的数据迁移
From:https://my.oschina.net/simpleton/blog/525675 一.什么是ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数 ...
- 初探领域驱动设计(2)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
随机推荐
- JS魔法堂:doctype我们应该了解的基础知识
一.前言 什么是doctype?其实我们一直使用,却很少停下来看清楚它到底是什么,对网页有什么作用.本篇将和大家一起探讨那个默默无闻的doctype吧! 二.什么是doctype doctype或DT ...
- ASP.NET运行时详解 集成模式和经典模式
遗留问题 在<ASP.NET运行时详解 生命周期入口分析>中遗留两个问题,包括Application的InitInternal方法执行细节.IIS6和II7经典模式请求管道管理类Appli ...
- Enterprise Library - Data Access Application Block 6.0.1304
Enterprise Library - Data Access Application Block 6.0.1304 企业库,数据访问应用程序块 6.0.1304 企业库的数据访问应用程序块的任务简 ...
- 译:Datetime类型的扩展
译文出处:http://www.codeproject.com/Articles/870939/Datetime-Extensions 本文主要针对System.DateTime类型的一系列扩展.包括 ...
- Mongodb:修改文档结构后出现错误:Element '***' does not match any field or property of class ***.
Mongodb:修改文档结构后出现错误:Element '***' does not match any field or property of class ***. Mongodb是一种面向文档的 ...
- Azure开发者任务之六:使用WCF Service Web Role
在本文中,我们将会在local development fabric上创建一个WCF服务角色,然后在一个控制台应用程序中使用它. WCF服务角色可以让我们创建一个WCF服务,并且把它托管在Window ...
- 关于迭代器中IEnumerable与IEnumerator的区别
首先是IEnumerable与IEnumerator的定义: 1.IEnumerable接口允许使用foreach循环,包含GetEnumerator()方法,可以迭代集合中的项. 2.IEnumer ...
- 个人信息管理PIM——密码管理工具软件
密码管理工具 以KeePass为主,结合LastPass在线浏览器网页密码.有钱银可以考虑1Password. KeePass LastPass 1Password 价格费用 免费开源 普通版:免费 ...
- 【jQuery基础学习】00 序
作为一个从来没有认真学过jQuery的菜来讲,我所学的都是jQuery基础. 算是让自己从0开始系统学一遍吧.学习书籍为:<锋利的jQuery>. 虽然是个序,表示一下我是个菜,但还是来几 ...
- Linux 安装 PHP 环境
使用虚拟机玩linux时,发现CentOS中的php版本是5.1.6.如果要安装新版的php,需要把旧的版本删除. 先查看下php版本:# php -v 如果执行该命令提示该命令不存在,那么可以通过以 ...