通过URL执行Kettle的转换或者任务,这个功能可以Kettle的web service。假如有这样的一种情形:第三方想从你这里读取数据,然而,你又不要写web service代码。任何人都可以从web service中读取数据,Kettle也提供了这样的功能。下面的这里例子展示这个功能。
1. 组件连接图,创建这个transformation.
2. 数据源csv文件,内容如下:
id;name;firstname;zip;city;birthdate;street;housenr;stateCode;state
1;jwcdf-name;fsj-firstname; 13520;oem-city;1954/02/07;amrb-street; 145;AK;ALASKA
2;flhxu-name;tum-firstname; 17520;buo-city;1966/04/24;wfyz-street; 96;GA;GEORGIA
3;xthfg-name;gfe-firstname; 12560;vtz-city;1990/01/11;doxx-street; 46;NJ;NEW JERSEY
4;ulzrz-name;bnl-firstname; 11620;prz-city;1966/08/02;bxqn-street; 104;NY;NEW YORK
5;oxhyr-name;onx-firstname; 15180;bpn-city;1970/11/14;pksn-street; 133;IN;INDIANA
CSV file output设置如下:
依次定义相关组件,这里省略了。显示数据的组件Text File Ouput, 你可以根据需要设置为Json output组件并在浏览器中显示出来。
设置完成后,启动Carte程序。然后,在浏览器中输入:
http://username:password@hostname:port/kettle/executeTrans/?trans=PathToFile
username:password 是Carte的登录密码;
hostname:port 是Carte运行的主机和端口号;
PathToFile:trans文件在磁盘上的路径。
这里例子的URL:
http://cluster:iloveyou@localhost:8080/kettle/executeTrans/?trans=F:\openSource\ETL\data-integration\samples\doTransWithWebService.ktr。
如果trans在一个repository中,运行的格式为:
http://username:password@hostname:port/kettle/executeTrans/?rep=RepositoryName&user=RepositoryUser&pass=RepositoryPassword&trans=PathToTransformationInRepository
执行结果:
源代码transformation,请点击下载。