文档章节

ETL Pentaho代码学习笔记

小骏骏
 小骏骏
发布于 2014/12/17 16:46
字数 706
阅读 371
收藏 0

1、通过设置KETTLE_HOME环境变量可以让.kettle不需要在user.home下

2、默认kettle_home 为User.home,如果要自定义需要设置环境变量KETTLE_HOME

3、在.kettle目录下可放置以下文件或目录:

    

       文件名                                    说明
kettle.properties  内部运行时的环境变量 
.languageChoice 

设置运行的语言,方便进行界面语言的翻

     --内容LocaleDefault=en_US

             LocaleFailover=en_U

其它 也可以放置Plugins目录,增加自己的扩展插件

4、插件的类型:

 

类型         Plugin下的目录         加载XML配置文件名

Step                 steps         kettle-steps.xml

Partitioner steps             

JobEntry         jobentries     

Repository repositories     

Database         databases     

Lifecycle         repositories     

Rules         rules                    

5、插件的加载

 a. 扫描目录: <kettle_home>/plugins 、<运行目录>/plugins、<kettle_home>/plugins/<第4点中类型对对应目录  >、、<运行目录>/plugins/<第4点中类型对对应目录>

   说明:前两个扫描申明,后两个是扫描XML定义文件。

  可以将所有定义的类路径以逗号分隔设置到KETTLE_PLUGIN_CLASSES变量中用于调试。

  b.第一种方式:定义通用Xml格式结构

    (1) steps/step (见kettle-steps.xml)

    下 属性或元素:id, description, iconfile, tooltip, category(兼容i18n), classname, errorhelpfile

  示例:

  <step id="Injector">

<description>i18n:org.pentaho.di.trans.step:BaseStep.TypeLongDesc.Injector</description> <!-- 

 :插件的名字显示

                                                                                 以i18n:开头按:分隔,第一部分是message所在的package路径,第二部分是它的message key. 

-->

<classname>org.pentaho.di.trans.steps.injector.InjectorMeta</classname>  <!-- 

 :插件对应的类

-->

<category>i18n:org.pentaho.di.trans.step:BaseStep.Category.Inline</category> <!-- 

 :插件分类的名字显示

                                                                                 以i18n:开头按:分隔,第一部分是message所在的package路径,第二部分是它的message key. 

-->

<tooltip>i18n:org.pentaho.di.trans.step:BaseStep.TypeTooltipDesc.Injector</tooltip>

<iconfile>ui/images/INJ.png</iconfile>

</step>

(2) libraries/library (插件引用Jar,可多个)

下 属性: name (相对当前插件目录的一个路径)

(3) localized_category/category (插件的分类显示文字,可多个)

    下 属性: locale(指定国家语言代码,如:en_US,zh_CN

          值:对应的文字  

    (4) localized_description/description(插件描述文字,可多个)

    下 属性: locale(指定国家语言代码,如:en_US,zh_CN

          值:对应的文字

    (5) localized_tooltip/tooltip(插件提示文字,可多个)

    下 属性: locale(指定国家语言代码,如:en_US,zh_CN

          值:对应的文字

 

  c. 第二种方式: 扫描

    <kettle_home>/plugins 、<运行目录>/plugins、<kettle_home>/plugins/<第4点中类型对对应目录>这三个目录下所有的Jar包的里面有类型对应的申明的类(这种方式就需要通过定义文件来完成) 

    类型                  接口                 对应的申明类

  Step                org.pentaho.di.trans.step.StepMetaInterface                org.pentaho.di.core.annotations.Step

  Partitioner   org.pentaho.di.core.annotations.PartitionerPlugin

   JobEntry          org.pentaho.di.job.entry.JobEntryInterface                  org.pentaho.di.core.annotations.JobEntry

   Repository   org.pentaho.di.core.annotations.RepositoryPlugin

   Database   org.pentaho.di.core.plugins.DatabaseMetaPlugin

   Lifecycle   org.pentaho.di.core.annotations.LifecyclePlugin

   ImportRule   org.pentaho.di.core.annotations.ImportRulePlugin

  c. 第三种,加载内置的.xml文件,如:kettle-engine.jar内根目录下.xml文件。

          如:kettle-variables.xml,kettle-steps.xml,kettle-job-entries.xml

  也可以通过环境变量来影响:steps(KETTLE_CORE_STEPS_FILE),JobEntry(KETTLE_CORE_JOBENTRIES_FILE)



 6、性能优化提示:可以适当去除一些不需要用到的插件,这样就会加快Spoon开发工具的启动速度。

       如:AgileBI等,


© 著作权归作者所有

共有 人打赏支持
小骏骏
粉丝 8
博文 111
码字总数 22428
作品 0
厦门
高级程序员
私信 提问
NoSQL为什么需要模式自由的ETL工具 ?

  【IT168 评论】了解一个开源工具,可以有效帮助人们解决NoSQL在数据输入、处理、输出方面困难。大数据时代,不了解NoSQL数据库的程序员大抵应该是没有的吧!   许多NoSQL数据库缺少工具...

it168网站
01/02
0
0
Kettle 与 Talend Open Studio 的 ETL 比较

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

ychenETL
2011/06/13
0
0
Pentaho Hire in China

GSS DeliverySpecialist for Pentaho /Big Data Location: Shanghai/Beijing/Shenzhen To support Pentaho solution architectingprocess, providing pre-sales & post-sales technical expe......

wx591530d5ab0a2
2017/05/12
0
0
kettle之旅--kettle的发展史简述

简述 kettle(Pentaho Data Integratio)是一套开源的ETL解决方案,诞生于2003年(完成第一个版本的开发),由比利时BI工程师Matt Casters(马特.卡斯特)完成,后续被Pentaho公司收购(收购...

cimenbi
07/28
0
0
Kettle 6.x 源码开发环境搭建

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

空山苦水禅人
2016/11/02
2.9K
6

没有更多内容

加载失败,请刷新页面

加载更多

Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
35分钟前
0
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
39分钟前
1
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
1
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0
Mybatis 学习笔记四 MyBatis-Plus插件

Mybatis 学习笔记四 MyBatis-Plus插件 maven依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <ve......

晨猫
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部