kettle从sftp下载多个文件并进行转换后输出

一. 主流程梳理

kettle从sftp下载多个文件并进行转换后输出_第1张图片
主流程
  • 1 获取sftp上对应文件的存放路径;
  • 2 从sftp下载指定的文件到指定的目录;
  • 3 从下载后的指定目录,获取数据进行转换操作;

二. 获取ftp路径

kettle从sftp下载多个文件并进行转换后输出_第2张图片
获取ftp路径

1. 生成记录

kettle从sftp下载多个文件并进行转换后输出_第3张图片
生成记录

此处要注意: 限制为1;

2. JavaScript代码

kettle从sftp下载多个文件并进行转换后输出_第4张图片
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.设置变量

kettle从sftp下载多个文件并进行转换后输出_第5张图片
设置变量

可通过点击 获取字段按钮快速设置变量.

三.SFTP下载

通过SFTP下载文件到指定的目录,配置如下:

kettle从sftp下载多个文件并进行转换后输出_第6张图片
服务器配置

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

kettle从sftp下载多个文件并进行转换后输出_第7张图片
文件配置

配置完成后,可通过点击 测试文件夹查看文件夹是否存在.

四.进行数据转换

kettle从sftp下载多个文件并进行转换后输出_第8张图片
数据转换流程

1.文件输入

kettle从sftp下载多个文件并进行转换后输出_第9张图片
文件配置

kettle从sftp下载多个文件并进行转换后输出_第10张图片
内容配置

kettle从sftp下载多个文件并进行转换后输出_第11张图片
字段配置

2.排序记录

kettle从sftp下载多个文件并进行转换后输出_第12张图片
排序记录

3.记录集连接

kettle从sftp下载多个文件并进行转换后输出_第13张图片
配置记录集连接类型

4.过滤记录

kettle从sftp下载多个文件并进行转换后输出_第14张图片
设置过滤条件

5.文本输出

kettle从sftp下载多个文件并进行转换后输出_第15张图片
设置输出目录和文件

kettle从sftp下载多个文件并进行转换后输出_第16张图片
设置输出内容格式

kettle从sftp下载多个文件并进行转换后输出_第17张图片
指定输出字段

OK!至此流程梳理完毕!

你可能感兴趣的:(kettle从sftp下载多个文件并进行转换后输出)