1、kettle的体系结构
kettle主要由3部分组成 spoon,kitchen,pan。其中Spoon是一个图形化的界面,有转换和作业两种脚本。其资源存储方式可为数据库资源形式或者是文件系统资源形式。
2、应该如何解读源码
kettle的插件类型:
转换步骤插件:在Kettle转换中使用的步骤,用来处理数据行。
作业项插件:在Kettle作业中使用的的作业项,用来实现某个任务。
分区方法插件:利用输入字段的值指定自己的分区规则
数据库类型插件:用来扩展不同的数据库类型。
资源库类型插件:可以把Kettle 元数据保存为自定义类型或格式。
kettle插件类型为系统自带的插件类型,以及用户开发的插件。
系统自带的插件通过src目录下的.xml文件进行加载。用户开发的插件要放在plugins目录下,并配置相应的.xml文件。如:
plugin.xml文件内容解读:
<?xml version="1.0" encoding="UTF-8"?>
<plugin
id="tableincrementaloutput" //id 用于唯一标示
iconfile="OBF.png" //对应插件图片的形式 32*32像素
description="Obfuscation" // 插件描述
tooltip="Data Obfuscationt" //当鼠标划过后的显示
category="input" //父目录
classname="com.aofei.kettleplugin.obfus.ObfusMeta"> // 对应的Java
<libraries><span style="white-space:pre"> </span>//国际化
<library name="obfus.jar"/>
</libraries>
<localized_category>
<category locale="en_US">Transformation</category>
<category locale="zh_CN">转换</category>
</localized_category>
<localized_description>
<description locale="en_US">Obfuscation</description>
<description locale="zh_CN">Data Obfuscation</description>
</localized_description>
<localized_tooltip>
<tooltip locale="en_US">Obfuscation</tooltip>
<tooltip locale="zh_CN">Data Obfuscation</tooltip>
</localized_tooltip>
</plugin>