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获取到具体的表名称是什么,下面是是获取将要导入的表全部数据。

    至此问题得到解决。

  • 相关阅读:
    【贪心】时空定位I
    【贪心】删数问题
    【贪心】取火柴游戏
    【贪心】均分纸牌
    Fix a Tree
    Vacations
    One Bomb
    Abandoned country
    BZOJ 1006 [HNOI2008]神奇的国度
    BZOJ 2118 墨墨的等式
  • 原文地址:https://www.cnblogs.com/gxgd/p/11310001.html
Copyright © 2011-2022 走看看