Kettle 里的 JavaScript步骤 是一个非常重要的转换步骤,一般来说其他步骤搞不定的事情,都可以由它来解决。
JavaScript步骤里使用的脚本是 Mozilla 的 Rhino,Rhino 是一个很流行的脚本语言。正因为它的出色,所以被 JDK 1.6 收编了,换了一身行头变成 javax.script 包了。不过 Mozilla 还一直在开发Rhino ,最近的一个 Realease1.7 是 08年3月份发布的。Rhino 作为一种脚本语言要遵守脚本语言的标准,对 Rhino 或脚本语言不熟悉的朋友可以参考下面的几个连接
Rhino介绍
javaScript 介绍
javaScript 规范
我们来看看 Kettle 里的 JavaScript 步骤怎么使用。
[@more@]例子. 假设用户有一个Excel 文件,包括2列,格式如下:
地区名称 销售额
xx省xx市 xx万元
另外用户在数据库中有一个事实表和一个字典表
事实表结构:
地区代码 销售额
12345 xx万元
字典表结构:
地区代码 省名 市名
12345 xx省 xx市
用户想将 EXCEL 中的数据导入到事实表中。要完成这个工作,需要将Excel 中的地区名称列按照省、市拆分。这时就只能使用 javaScript 步骤了。拆分后,根据获得的省名和市名再使用 Kettle 里的“数据库查询”步骤就可以获得对应的地区代码,最后将构造好的数据插入到事实表中。
从上面分析看出,完成这个工作要4个步骤:
1. Excel 输入步骤
2. javaScript 步骤
3. 数据库查询步骤
4. 表输出步骤
我们主要看看 javaScript 步骤里的 java 脚本如何写
================================= begin ============
var str = 地区名称.getString();
var begin = str.indexOf('省');
var end = str.indexOf('市');
var pName = str.substr(begin,end);
var cName = str.subsgr(end+1,str.length);
================================= end ============
脚本里的 pName 和 cName 可以作为字段, 再通过 "数据库查询步骤" 去匹配字典表里的 省名 和 市名
来获得 地区代码。
整个设计过程并不复杂,在实际应用中一般还会有更多的要求。
JavaScript步骤里使用的脚本是 Mozilla 的 Rhino,Rhino 是一个很流行的脚本语言。正因为它的出色,所以被 JDK 1.6 收编了,换了一身行头变成 javax.script 包了。不过 Mozilla 还一直在开发Rhino ,最近的一个 Realease1.7 是 08年3月份发布的。Rhino 作为一种脚本语言要遵守脚本语言的标准,对 Rhino 或脚本语言不熟悉的朋友可以参考下面的几个连接
Rhino介绍
javaScript 介绍
javaScript 规范
我们来看看 Kettle 里的 JavaScript 步骤怎么使用。
[@more@]例子. 假设用户有一个Excel 文件,包括2列,格式如下:
地区名称 销售额
xx省xx市 xx万元
另外用户在数据库中有一个事实表和一个字典表
事实表结构:
地区代码 销售额
12345 xx万元
字典表结构:
地区代码 省名 市名
12345 xx省 xx市
用户想将 EXCEL 中的数据导入到事实表中。要完成这个工作,需要将Excel 中的地区名称列按照省、市拆分。这时就只能使用 javaScript 步骤了。拆分后,根据获得的省名和市名再使用 Kettle 里的“数据库查询”步骤就可以获得对应的地区代码,最后将构造好的数据插入到事实表中。
从上面分析看出,完成这个工作要4个步骤:
1. Excel 输入步骤
2. javaScript 步骤
3. 数据库查询步骤
4. 表输出步骤
我们主要看看 javaScript 步骤里的 java 脚本如何写
================================= begin ============
var str = 地区名称.getString();
var begin = str.indexOf('省');
var end = str.indexOf('市');
var pName = str.substr(begin,end);
var cName = str.subsgr(end+1,str.length);
================================= end ============
脚本里的 pName 和 cName 可以作为字段, 再通过 "数据库查询步骤" 去匹配字典表里的 省名 和 市名
来获得 地区代码。
整个设计过程并不复杂,在实际应用中一般还会有更多的要求。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14366449/viewspace-1005642/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14366449/viewspace-1005642/