kettle从sftp下载多个文件并进行转换后输出
2018-09-12 本文已影响617人
GuangHui
一. 主流程梳理
主流程- 1 获取sftp上对应文件的存放路径;
- 2 从sftp下载指定的文件到指定的目录;
- 3 从下载后的指定目录,获取数据进行转换操作;
二. 获取ftp路径
获取ftp路径1. 生成记录
生成记录此处要注意: 限制为1;
2. JavaScript代码
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!至此流程梳理完毕!