kettle从sftp下载多个文件并进行转换后输出
2018-09-12 本文已影响617人
GuangHui
一. 主流程梳理

- 1 获取sftp上对应文件的存放路径;
- 2 从sftp下载指定的文件到指定的目录;
- 3 从下载后的指定目录,获取数据进行转换操作;
二. 获取ftp路径

1. 生成记录

此处要注意: 限制为1;
2. JavaScript代码

可通过点击测试脚本按钮测试脚本执行是否正确.
//Script here
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var url=new Date(new Date().getTime()).Format("yyyyMMdd");
3.设置变量

可通过点击获取字段按钮快速设置变量.
三.SFTP下载
通过SFTP下载文件到指定的目录,配置如下:

配置完成后,可通过点击测试连接进行测试是否配置成功.

配置完成后,可通过点击测试文件夹查看文件夹是否存在.
四.进行数据转换

1.文件输入



2.排序记录

3.记录集连接

4.过滤记录

5.文本输出



OK!至此流程梳理完毕!