etl工具,kettle实现循环

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

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

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

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

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

2 设置环境变量

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判断

时间: 2024-12-27 07:51:23

etl工具,kettle实现循环的相关文章

可用于Hadoop下的ETL工具——Kettle

看大家分享了好多hadoop相关的一些内容,我为大家介绍一款ETL工具——Kettle.    Kettle是pentaho公司开源的一款ETL工具,跟hadoop一样,也是java实现,其目的就是做数据整合中时数据的抽取(Extract).转换(Transformat).加载(Load)工作.Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制.Transformation工作原理上采用并发流式处理

大数据之ETL工具Kettle的--1功能介绍

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行. 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用.我这里啊,先描述ETL工具的通用功能,再来描述作为ETL工具其中的一种(Kettle)是如何来提供这些功能的(图文详解) ETL工具的功能之一:连接 任何ETL工具都应该有能力连接到类型广泛的数据源和数据格式.对于最常用的关系型数据库系统,还要提供本地的连接方式(如对于Oracle的OCI),ETL

ETL工具—Kettle数据的导入导出—数据库到数据库

ETL简介: ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程) 数据库到数据库 下面讲解:kettle工具实现方法 案例目的:从用户scott下将emp表导入到用户testuser下. 准备工作:首先在testuser账户下,新建一个与scott账户中emp表结构相同的表. 操作步骤: 1.检测一下testuser账户下是否已经建立了emp的空表. 图1:检测用户testuser中的emp表 2.新建一个"转换",拖入"表输入&quo

ETL工具kettle怎么做定时任务

kettle做定时任务平时任务中经常需要用两种方法:一.kettle自带的功能.具体操作如下:首先形成一个job,然后点击开始组件:结果如图:当需要定时时,那么就是需要重复:此时勾选重复选项,然后点击类型下拉选选择你需要定时的类型,如时间间隔,天,周,月:如果选择时间间隔,意味着你每隔多长时间执行一次,单位是分秒,自行选择.如图当选择了天,那么就是意味着在每天的几点执行,如图当选择了周,就意味这是在每周的几点执行当选择了月,意味着是在每月的多少号的几点执行当然这时一种单选,选择之后一定记得点击确

ETL工具—Kettle数据的导入导出—Excel表到数据库

案例目的:当Excel中有几万条记录或者更多数据时,使用Kettle导入到数据库中.速度就能感到比复制粘贴快很多. 这里我会演示将"data.xlsx"表中数据有15万多条记录,使用Kettle导入到oracle数据库的testuser用户下. 准备工作:1.data.xlsx表: 2.testuser用户下要有一个与data.xlsx表结构(列数与字段类型)相同的表. 开始!!! 1.新建一个"转换",将"Excel输入"."表输出&

ETL工具kettle的csv输入和excel输入

实际工作中我们可能回经常将excel或者csv的数据导入到数据库中,这里讲下怎么通过kettle进行导入;首先说下这两种格式的区别:CSV是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打同时CSV (*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值.工作表中所有的数据行和字符都将保存.数据列以逗号分隔,每一行数据都以回车符结束.如果单元格中包含逗号,则该单元格中的内容以双引号引起.如果单元格显示的是公式而不是数值,该公式将转换为文本方式.所有格式.图形

ETL工具kettle的几个小组件(剪切字符串,增加常量,计算器)

接下来几天给大家介绍下几个常用的kettle组件1.剪切字符串所谓的剪切字符串,就类似于Oracle的substr函数,具体位置在某个转换的核心对象-转换中,如图使用方法为--双击打开组件,选择你要裁剪的流字段(必须),输出字段(选填),输入初始和结束位置,这样就好了:2.增加常量所谓的增加常量就是增加x个字段,而这每个字段的值都是常量(这里的x是个大于等于0的自然数),具体位置在某个转换的核心对象-转换中,如图使用方法是双击组件,按自己的需要填写参数,如图我们经常需要填写的有名称,类型,格式,

ETL工具kettle的组件--生成记录

今天介绍下kettle的一个比较实用的组件--生成记录:当我们想将一部分文本数据变成数据行,每个字段作为一个数据行的一个列,那么我们可以利用这个组件:它的位置在双击点开根据自己的实际需要进行设置当设置后,可以点击预览,上面的[限制]选项就是行的数量:其中 有三个选项是必填项--名称,类型,值 原文地址:http://blog.51cto.com/13602563/2170365

ETL工具-KETTLE教程专栏1----术语和定义

1-资源库 资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中.        资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称.        资源库有两种形式:        一.Kettledatabase repository,即保存在各种常见的数据库资源库类型,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin和guest/guest.        二.Kettle fi

ETL工具-KETTLE教程专栏2----环境介绍

一.整体结构图 Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL 需要:抽取.转换.装入和加载数据:翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出. 二.运行环境 Windows.Linux.Solaris.Apple OSX.HP-UX.AIX环境都可以运行,必须安装jdk1.6以上的版本 三.支持的数据库 ORAC