etl工具,kettle实现循环

摘要:
Kettle是一个外国开源ETL工具。它是用纯Java编写的,可以在Windows、Linux和Unix上运行。无需将其安装为绿色。数据提取高效且稳定。业务模型:关系数据库中有一个大的数据存储表,它被设计为存储在奇偶校验数据库中。每个数据库有100个第一模拟考试表,每个表存储1000W,并自动切换到下一个表。现在我们需要将这些数据同步到Hive(hdfs)并循环提取数据。如果是具有增量数据提取的增量字段(每天存储增量数据的表

  

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

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

 

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

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

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

etl工具,kettle实现循环第1张

设置环境变量

etl工具,kettle实现循环第2张

3 : JavaScript代码

 etl工具,kettle实现循环第3张

etl工具,kettle实现循环第4张

编辑内容为

var count;

count = parent_job.getVariable("V_ID");

if(count == 10){

    false;

}else{

    count++;

    parent_job.setVariable("V_ID", count);

    true;

}

4 新建转换

 etl工具,kettle实现循环第5张

编辑转换,内容为:

etl工具,kettle实现循环第6张

5  dummy  条件判断,不作修改

 etl工具,kettle实现循环第7张

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

etl工具,kettle实现循环第8张

6 执行job,测试循环。

另外附上3.2版本的kettle循环

etl工具,kettle实现循环第9张

设置变量

etl工具,kettle实现循环第10张

设置判断条件

etl工具,kettle实现循环第11张

转换 表输入文件输出

etl工具,kettle实现循环第12张

Js判断

 etl工具,kettle实现循环第13张

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

免责声明:文章转载自《etl工具,kettle实现循环》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇KUDU 介绍为DataGrid添加自动编号功能下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kettle系列1.kettle源码获取与运行

  第一次写博客,心里有点小激动,肯定有很多需要改进的地方,望海涵。   kettle算是我相对较为深入研究过的开源软件了,也是我最喜欢的开源软件之一,它可以完成工作中很多体力劳动,在ETL数据抽取方面得到了广泛的使用。我本身对kettle的各个控件使用也不是很熟悉,只会使用最常见的部分控件,就是这样简单的使用也被它的美深深的吸引住了。   好了,进入正题...

kettle中json input中数据的解析

一、对于json数据的解析 简介 JSONPath - 是xpath在json的应用。              类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot–notation”和“bracket–notation”格式,例如$.store.book[0].title、$[‘sto...

kettle插入/更新

1.数据库环境 --------------------实时表 CREATE TABLE NowTable(ID INT,NAME VARCHAR(100),Info VARCHAR(100)); INSERT INTO NowTable VALUES(1,'张启山','长沙'); INSERT INTO NowTable VALUES(2,'尹...

kettle删除资源库中的转换或者作业

在资源库中新建转换,作业都很简单,那么加入现在不需要其中某个转换或者作业该怎么办呢? 下图是已经存在的转换跟作业 现在需要删除aa这个转换 操作步骤如下: 1.工具----资源库----探索资源库 出现下图界面 2.删除资源库 找到自己需要删除的转换,例如“aa”,右键,即可删除 点击“是”,即可删除...

kettle crontab java: command not found

contos6.5下,单独执行脚本无问题,添加到crontab 里保存 java: command not found ※(重点)接着,编写执行kettle任务的shell脚本创建test.sh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/*.sh”,赋予test.sh执行权限。 export JAVA_HOME=/us...

关于linux安装kettle的总结

一.部署准备 1.1 JDK安装配置 命令行键入“cd /etc”进入etc目录 命令行键入“vi profile”打开profile文件 敲击键盘ctrl+F到文件末尾 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件 export JAVA_HOME=/usr/java/jre1.8.0_45 export PATH=JAVAHOME/bin:...