文档章节

Pentaho之Kettle

一枚Sir
 一枚Sir
发布于 2014/11/18 11:38
字数 967
阅读 136
收藏 1
点赞 0
评论 0

     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

 

© 著作权归作者所有

共有 人打赏支持
一枚Sir
粉丝 116
博文 207
码字总数 350904
作品 0
朝阳
架构师
ETL Pentaho代码学习笔记

1、通过设置KETTLE_HOME环境变量可以让.kettle不需要在user.home下 2、默认kettlehome 为User.home,如果要自定义需要设置环境变量KETTLEHOME 3、在.kettle目录下可放置以下文件或目录: 文件...

小骏骏 ⋅ 2014/12/17 ⋅ 0

Kettle 8.1 RC 发布,开源 ETL 工具

Kettle 8.1 RC 发布了,下载地址: src="https://github.com/pentaho/pentaho-kettle/releases/tag/8.1.0.0-RC">https://github.com/pentaho/pentaho-kettle/releases/tag/8.1.0.0-RC 改进记......

红薯 ⋅ 2017/12/14 ⋅ 7

Kettle 6.x 源码开发环境搭建

1、引言 Data Integration - Kettle 作为免费开源的ETL工具,可以通过其桌面程序进行ETL步骤的开发并执行。kettle以插件形式来实现每个转换步骤的工作,发行版中已经提供了常用的转换清洗插件...

空山苦水禅人 ⋅ 2016/11/02 ⋅ 6

OS无人回答了?那么关于ETL我还是要问一问

二次开发好后打包替换对应JAR包启动kettle出现异常 各位大牛: 本人基于KETTLE6.0.1 二次开发好后,打包对应的JAR(kettle-core-6.0.1.0-386.jar、kettle-dbdialog-6.0.1.0-386.jar、kettle-...

battier ⋅ 2016/07/08 ⋅ 0

Kettle 与 Talend Open Studio 的 ETL 比较

Pentaho Data Integration (Kettle)是Pentaho生态系统中默认的ETL工具。通过非常直观的图形化编辑器(Spoon),您可以定义以XML格式储存的流程。在Kettle运行过程中,这些流程会以不同的方法...

ychenETL ⋅ 2011/06/13 ⋅ 0

Kettle在linux安装后,spoon启动闪退,如何解决?

os:CentOS release 6.9 (Final) java:JDK108 KETTLE:pdi-ce-7.1.0.0-12 配置好环境变量,启动spoon.sh, 页面闪现就退掉,试过两种方法: 1. vim spoon.sh 修改java参数 if [ -z "$PENTAH...

gs0325 ⋅ 04/28 ⋅ 0

一个数据库错误发生在从资源库文件读取转换时

Unable to load class for step/plugin with id [null ]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution. at org.pentaho.di.repository.kdr.d......

skye_to_skye ⋅ 2015/08/18 ⋅ 0

Kettle 调用方式

在使用Kettle执行Job或者转换的时候有多种方式,例如: 一:通过命令行来执行 kitchen.sh来执行指定的Job,例如: 通过"Pan.bat"来执行指定的转换,例如: 二:通过Java API 接口在代码中执行...

mybabe0312 ⋅ 2017/04/06 ⋅ 0

kettle3.2 创建oracle连接,在Test的时候报错:Could not initialize class oracle.jdbc.driver.OracleDriver。

错误如下:Could not initialize class oracle.jdbc.driver.OracleDriver。 详细描述:kettle3.2数据采集 环境变量设置:KETTLE_HOME D:kettledata-integration Path % KETTLE_HOME% 当我打开......

龙海波1990 ⋅ 2013/04/03 ⋅ 3

kettle链接mysql出现的问题

错误连接数据库 [kaka7123] : org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the database Error connecting to database: (using cla......

kaka7123 ⋅ 2013/01/25 ⋅ 5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部