zoukankan      html  css  js  c++  java
  • 关于在kettle当中使用循环去读取数据做etl操作。

    最近在做kettle相关的数据迁移。然后要循环的去读取数据把数据进行迁移操作。这里是通过js代码控制循环读取数据。

    //js1代码。这个主要是读取表当中传入过来的数据。

    var prevRow=previous_result.getRows();//获取上一个传递的结果 if (prevRow == null &&(prevRow.size()=0)) { false; }else{ parent_job.setVariable("tables", prevRow);//ArrayList存储表名变量,以数组形式保存入[[table1],[table2]] parent_job.setVariable("size", prevRow.size());//存储执行表的总数量 parent_job.setVariable("i", 0);//循环控制变量 parent_job.setVariable("TABLENO",prevRow.get(0).getString("tableno",""));//从上一个步骤中获取第一个表的表名,并赋值给TABLENAME变量 true; }

      

    //js2这个是对表当中的表数量进行累加计数

    var list_Tables = parent_job.getVariable("tables").replace("[","").replace("]","").split(","); var size = new Number(parent_job.getVariable("size")); var i = new Number(parent_job.getVariable("i"))+1; if(i<size){ parent_job.setVariable("TABLENO", list_Tables[i].trim()); } parent_job.setVariable("i",i); true;

      

    表数量校验的截图如下:

     两个转换当中数据输入如下:

    获取表名称的转换

     上面是根据表当中的id获取到具体的表名称是什么,下面是是获取将要导入的表全部数据。

    至此问题得到解决。

  • 相关阅读:
    【HDOJ】2774 Shuffle
    【POJ】2170 Lattice Animals
    【POJ】1084 Square Destroyer
    【POJ】3523 The Morning after Halloween
    【POJ】3134 Power Calculus
    【Latex】如何在Latex中插入伪代码 —— clrscode3e
    【HDOJ】4801 Pocket Cube 的几种解法和优化
    【HDOJ】4080 Stammering Aliens
    【HDOJ】1800 Flying to the Mars
    SQL语法
  • 原文地址:https://www.cnblogs.com/gxgd/p/11310001.html
Copyright © 2011-2022 走看看