Kettle 中的 JavaScript代码插件使用了JDK1.6中对脚本语言的支持功能, Sun的JDK6实现包含了一个基于Mozilla Rhino的脚本语言引擎,支持JavaScript, Kettle中的用法和JDK1.6中的用法是一致的, 唯一不同的是在jdk环境中写代码的话, 需要使用JDK Scripting API显示 执行js代码(js代码被放在一个String里); 而在这个插件界面里面是直接写js代码即可以,Kettle后台会通过 JDK的Scripting API进行执行。
Kettle示例:
1. 总的转换过程
[img]http://dl2.iteye.com/upload/attachment/0103/7691/aec1aa41-4578-3668-b639-0615b59ccb12.jpg[/img]
2. 生成记录步骤
[img]http://dl2.iteye.com/upload/attachment/0103/7695/bb53c7fd-5de0-38e4-8cc9-b7aa5c253327.jpg[/img]
3. 使用JavaScript代码插件合并name和age列,并增加一个时间后缀
[img]http://dl2.iteye.com/upload/attachment/0103/7697/5b723334-b1df-34a8-9246-9013c03fa690.jpg[/img]
4. 输出字段
[img]http://dl2.iteye.com/upload/attachment/0103/7699/98e419b4-87e7-381e-8ed8-e5f1ca8a43f9.jpg[/img]
如果步骤3修改如下:(用mergeColumn列替换原先的name列)
[img]http://dl2.iteye.com/upload/attachment/0103/7703/72371568-e7ef-31be-a7da-755acac5cd6f.jpg[/img]
那么步骤4字段输出如下:(name列的输出就是原先的name和age的合并值加时间后缀)
[img]http://dl2.iteye.com/upload/attachment/0103/7705/2f35ad15-911c-38e4-9e5b-bb49e3d58463.jpg[/img]
Kettle示例:
1. 总的转换过程
[img]http://dl2.iteye.com/upload/attachment/0103/7691/aec1aa41-4578-3668-b639-0615b59ccb12.jpg[/img]
2. 生成记录步骤
[img]http://dl2.iteye.com/upload/attachment/0103/7695/bb53c7fd-5de0-38e4-8cc9-b7aa5c253327.jpg[/img]
3. 使用JavaScript代码插件合并name和age列,并增加一个时间后缀
[img]http://dl2.iteye.com/upload/attachment/0103/7697/5b723334-b1df-34a8-9246-9013c03fa690.jpg[/img]
4. 输出字段
[img]http://dl2.iteye.com/upload/attachment/0103/7699/98e419b4-87e7-381e-8ed8-e5f1ca8a43f9.jpg[/img]
如果步骤3修改如下:(用mergeColumn列替换原先的name列)
[img]http://dl2.iteye.com/upload/attachment/0103/7703/72371568-e7ef-31be-a7da-755acac5cd6f.jpg[/img]
那么步骤4字段输出如下:(name列的输出就是原先的name和age的合并值加时间后缀)
[img]http://dl2.iteye.com/upload/attachment/0103/7705/2f35ad15-911c-38e4-9e5b-bb49e3d58463.jpg[/img]