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

    至此问题得到解决。

  • 相关阅读:
    [kuangbin带你飞]专题十二 基础DP1 E
    hdu 1203 I NEED A OFFER! (01背包)
    hdu 2602 Bone Collector (01背包)
    hdu 4513 吉哥系列故事——完美队形II (manacher)
    hdu 2203 亲和串 (KMP)
    hdu 1686 Oulipo (KMP)
    hdu 1251 统计难题 (字典树)
    hdu 2846 Repository (字典树)
    hdu 1711 Number Sequence (KMP)
    poj 3461 Oulipo(KMP)
  • 原文地址:https://www.cnblogs.com/gxgd/p/11310001.html
Copyright © 2011-2022 走看看