码迷,mamicode.com
首页 > 其他好文 > 详细

etl工具,kettle实现循环

时间:2014-10-01 09:25:40      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   ar   java   文件   数据   sp   

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

 

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

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

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


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

bubuko.com,布布扣

设置环境变量

bubuko.com,布布扣

3 : javascript代码

 bubuko.com,布布扣

bubuko.com,布布扣

编辑内容为

var count;

count = parent_job.getVariable("V_ID");

if(count == 10){

    false;

}else{

    count++;

    parent_job.setVariable("V_ID", count);

    true;

}

4 新建转换

 bubuko.com,布布扣

编辑转换,内容为:

bubuko.com,布布扣

5  dummy  条件判断,不作修改

 bubuko.com,布布扣

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

bubuko.com,布布扣

6 执行job,测试循环。

另外附上3.2版本的kettle循环

bubuko.com,布布扣

设置变量

bubuko.com,布布扣

设置判断条件

bubuko.com,布布扣

转换 表输入文件输出

bubuko.com,布布扣

Js判断

 bubuko.com,布布扣

 

 

etl工具,kettle实现循环

标签:style   blog   http   使用   ar   java   文件   数据   sp   

原文地址:http://blog.csdn.net/lili72/article/details/39716455

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!