ETL工具kettle怎么进行增量数据抽取:一、通过标志位

在平时的操作过程中可能大家需要经常进行增量的数据抽取,方法有很多种,接下来几天讲给大家介绍几种我本人经常使用的几种方式;
首先给大家介绍我最喜欢的一种,就是通过标志位;
操纵方法如下,在源表中增加一个标识字段,比如tongbu,当然可以为它设个默认值N,然后我们再增加一个索引nvl(tongbu,‘N’),增加索引是为了提高查询的速度,接下来我们来写具体的流程;

我写的这个流程非常简单,有的朋友们会非常疑惑为什么我会有更新组件,先卖个关子咱们继续;
在写 表输入中的sql时,我们引入了一个伪列gx,并赋值Y,这有什么有呢,继续看;

大家可以看到我在表输入的sql中特意框起来两块,where条件后面的就用到了我们之前建的索引,这个语句的逻辑解释为当tongbu这个字段的值为空或者为N的时候我们认为这些数据是未同步到目标表的;
当原表中的数据同步到目标表之后我们回头将伪列gx的值(Y)赋给这条数据的标志位tongbu,那么这时tongbu的值就变成了Y,此时我们就认为这条数据已经同步到目标标了,在下一个执行计划中就不会继续同步它;如图

这种方法的好处是非常直观,你可以通过标志位可以很清楚的知道这条数据有没有同步,特别是需要频繁同步的时候;
当然缺点也是很明显的,会对原表造成一定的压力,并且速度可能会收到一定的影响;

如果有什么迷糊,可以给我留言(这种方法理解起来稍微有一点点压力);
其实一句话:根据状态为确定有没有同步,没同步的同步后修改状态位;

原文地址:http://blog.51cto.com/13602563/2163559

时间: 2024-10-13 11:19:48

ETL工具kettle怎么进行增量数据抽取:一、通过标志位的相关文章

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

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

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

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

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

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

应用Pentaho Data Integration(Kettle) 6.1 进行数据抽取以及指标计算(一、同构数据抽取)

一.概述 本案例是一个小型数据抽取分析类系统,通过抽取数据共享中心中生产管理系统.营销管理系统.计量自动化系统的配网台区(一个台区一个配变)的相关数据进行整合,完成有关台区的50多个字段按照日.月.多月等维度的集中计算展示,其中有17个指标字段需要系统进行自动计算,并于每天对不同部门关注的台区指标进行超标告警,除开这些基本要求之外,用户还要求支持历史报表的查询以及可以对部分计算参数进行配置修改,甚至可以修改计算参数后对历史报表产生影响. 经过数据量分析,配变基本数据方面,生产有300多万个功能位

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

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

ETL工具kettle的数据分发和复制的区别

大家在实际 操作过程中可能会出现一个这样的情况,当你将一个组件与另一个组件进行连接时,会出现一个告知框,如图这时候会让你选择分发或者复制,这时候很多朋友会疑惑,这俩有啥区别呢:当你的目标组件是单线程时,选谁没区别,什么叫目标组件和单线程呢,我这样解释如图:当你从表输出到更新时,更新就是目标组件,这时更新的组件左上方没有出现数字时就是单线程,当出现数字时就是多线程,如图咱们继续复制和分发,怎么区分是复制还是分发呢,很简单第一个连接就是 分发,第二个就是复制,复制有一个书页的标志:这两种方式的区别是

八步学会数据迁移:ETL工具kettle使用方法

一.目的 将不同服务器上的表合并到另外一个服务器上.例如:将服务器1上的表A和服务器2上的表B,合并到服务器3上的表C 要求:表A需要被裁剪(去掉不必要的字段).表B需要增加一些字段 二.使用方法 (1)在服务器3上的数据库中新建一张表C(符合实际系统设计的字段) (2)新建表输入,连接服务器1,通过获取SQL语句选择需要使用的表,也可以选择一些字段 (2)同理,新建表输入,连接服务器2,通过获取SQL语句选择需要使用的表,也可以选择一些字段 (3)新建两个排序记录 (4)选择要排序的字段 (5

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

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

应用Pentaho Data Integration(Kettle) 6.1 进行数据抽取以及指标计算(四、每日指标的计算下)

台区负载情况计算(新增按值排序控件的使用): 台区负载情况 1.对变压器类型为干性的配变,“负载率超过80%(100%)持续时间”大于等于1小时的,计1次:一个自然月内累计有10天(含)以上的,为重载(过载). 2.对变压器类型为油浸式的配变,“负载率超过80%(100%)持续时间”大于等于2小时的,计1次:一个自然月内累计有10天(含)以上的,为重载(过载). 台区负载情况的计算流程如下图所示: 首先针对每行数据(每15分钟的值)的负载率判断其过载情况,采用javascript代码脚本控件进行