JavaScript 转换步骤

本文介绍了如何使用Kettle中的JavaScript步骤来处理复杂的数据转换任务。通过一个实例演示了如何利用JavaScript进行地区名称的拆分,进而实现从Excel文件中提取数据并将其导入数据库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 可以作为字段, 再通过 "数据库查询步骤" 去匹配字典表里的 省名 和 市名
来获得 地区代码。

整个设计过程并不复杂,在实际应用中一般还会有更多的要求。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14366449/viewspace-1005642/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14366449/viewspace-1005642/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值