kettle 多文件数据整合到一个文件中

思路:

      获取文件夹下所有的文件路径封装成一个list,然后将list改为数组,通过循环的方式进行整合

流程:

      作业图

步骤配置

获取文件名转换流程

     

步骤属性及配置
  获取文件名

字段选择

javaScript

脚本内容

//获取文件夹下的文件路径
var prevRow=previous_result.getRows();


//判断获取的文件路径是否为空
if(prevRow != null && prevRow.size()>0){

设置默认变量值
parent_job.setVariable("path_list",prevRow);
parent_job.setVariable("path_count",prevRow.size());
parent_job.setVariable("i",0);
parent_job.setVariable("this_path",prevRow.get(0).getString('filename',''));
true;

}else{
false;

}

检验字段的值

excel同步转换

设置循环条件javaScript

脚本内容

//将获取的文件路径集合格式化为数组
var path_list=parent_job.getVariable("path_list").replace("[","").replace("]","").replace(" ","").split(",");
var log2= new org.pentaho.di.core.logging.LogChannel(path_list[1]);
//日志输出
log2.logMinimal(path_list[1]);
var path_count=new Number(parent_job.getVariable("path_count"));
var i=new Number(parent_job.getVariable("i"))+1;
if(i<path_count){
//excel输入组件种路径的赋值
parent_job.setVariable("this_path",path_list[i])
//日志输出
var log= new org.pentaho.di.core.logging.LogChannel(path_list[i]);
log.logMinimal(path_list[i]);
parent_job.setVariable("i",i);
true;
}else{
//日志输出
var log= new org.pentaho.di.core.logging.LogChannel(path_list[i]);
log.logMinimal(path_list[i]);
false;
}
 

空操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值