zoukankan      html  css  js  c++  java
  • etl工具,kettle实现循环

      

    Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

    业务模型: 在关系型数据库中有张很大的数据存储表,被设计成奇偶库存储,每个库100张一模一样的表,每张表存储1000W,自动切换到下一个表。现需要同步这个数据到Hive中(hdfs),循环抽取这些数据。如果是抽取增量的带上增量字段(每天增量数据存储在哪个表,奇数库还是偶数库是不知道的)。

     

     a sqoop直接从MySQLhive,这样有些特殊字符会导致sqoop异常终止。而且这样循环对服务器的数据库大量取数,对服务器压力很大,很容易导致服务器瘫痪。

     b 使用kettle处理转换过程就没有这样的问题。kettle支持分页取数据,一定程度上减轻服务器压力。

    先看总结构图(以下版本为5.1


    设置环境变量


    3 : JavaScript代码

     


    编辑内容为

    var count;

    count = parent_job.getVariable("V_ID");

    if(count == 10){

        false;

    }else{

        count++;

        parent_job.setVariable("V_ID", count);

        true;

    }

    4 新建转换

     

    编辑转换,内容为:


    5  dummy  条件判断,不作修改

     

    设置循环逻辑,箭头方向和类型很重要


    6 执行job,测试循环。

    另外附上3.2版本的kettle循环


    设置变量


    设置判断条件


    转换 表输入文件输出


    Js判断

     

    来源:http://blog.csdn.net/lili72/article/details/39716455

  • 相关阅读:
    mac系统下 Homebrew 使用
    mac上安装nginx
    DOMContentLoaded 和 Load 事件 区别(待补充)
    JavaScript运行机制
    理解js事件循环(event loop)
    理解js闭包
    nginx 知识点
    014_mac下的端口查看
    003_如何正确的进入容器
    002_docker构建zookeeper环境
  • 原文地址:https://www.cnblogs.com/kongxc/p/6739974.html
Copyright © 2011-2022 走看看