kettle数据同步方法

1、实时性要求不高,采用全删全插的方式(适合于维度表、大数据量表)

2、有时间维度,直接从事实表同步的数据,可以采用根据时间字段进行筛选,增量同步。这个网上有很多例子,就不重复写了。

3、没有时间维度,同时表数据量比较大,且不能采用全删全插方式的,可以采用增量更新的方法。

在第三种方法中,尤其需要注意3点。

1、新旧数据源的结构和字段名需要保持一致。在sql中,可以给字段取别名,字段的顺序要保持一致。

2、若从不同数据库中进行比较,如sqlserver和MySQL,则需要对数据的类型进行转换,确保数据类型一致。可以在上图中新旧数据源与合并记录的连线处增加,字段选择控件,对字段的类型进行限定。

3、新旧数据源输入时,需要将数据源按照同样的规则进行排序。这一点在大表同步时非常重要,可能在同步小数据量的表时,没有影响,在大表同步时,若没有加上排序,会导致同步的结果异常。

时间: 2024-10-17 10:45:42

kettle数据同步方法的相关文章

基于网络文件共享服务的双机数据同步方法

前几年我开发过一个软件系统,为使用者提供7×24小时不间断的服务.为了确保服务质量,采用了双机热备的形式.双机系统能够正常工作的关键技术之一,就是主备机之间的数据同步.下面介绍的数据同步方法是以网络文件共享服务为基础实现的,简单易行,安全可靠,在当时时间紧.任务重.投资有限的情况下,应用效果比较理想. Windows网络文件共享服务 在Windows系统环境中,一台计算机可以作为服务器向局域网中的其它计算机(客户机)提供“文件共享服务”.通过这项服务,客户机用户能够像访问本地文件一样通过网络对服

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

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

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

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

kettle 数据迁移 (转)

最近在公司搞一个项目重构迁移问题,旧项目一直在线上跑,重构的项目则还没上线.重构之后数据库表结构,字段,类型等都有变化,而且重构的数据库由oracl改为mysql.这样就设计到数据迁移问题,别人推荐下用了kettle.由于资料比较少,刚开始搞了半天没成功过一次.现在终于有点开窍了,记录下以备后用,同时给用到的同学一点帮助也好,现在还是刚用的第二天,所以写的太浅显,望莫耻笑. 1.数据类型转换 由于大多数的数据结构都差不多,所以大多转换就如下图所示: 如果有字段变化在在“字段选择”中做映射,如我原

Kettle数据同步速度调优记录

Msyql到Vertica 1.mysql中在openshop 数据库中选择其中一个300W左右数据的表 create table ip_records_tmp_01 AS SELECT * FROM ip_records_tmp t WHERE t.datetime<= '2015-05-01' 2.vertica创建表ip_records_tmp_01,注意字段类型和mysql有点不一样. 全量抽取2478130条数据,耗时30s,速度不错! 3.在mysql中新增972948条数据,删除4

kettle 数据迁移

最近在公司搞一个项目重构迁移问题,旧项目一直在线上跑,重构的项目则还没上线.重构之后数据库表结构,字段,类型等都有变化,而且重构的数据库由oracl改为mysql.这样就设计到数据迁移问题,别人推荐下用了kettle.由于资料比较少,刚开始搞了半天没成功过一次.现在终于有点开窍了,记录下以备后用,同时给用到的同学一点帮助也好,现在还是刚用的第二天,所以写的太浅显,望莫耻笑. 1.数据类型转换 由于大多数的数据结构都差不多,所以大多转换就如下图所示: 如果有字段变化在在“字段选择”中做映射,如我原

KETTLE数据上传

1.     KETTLE简介 一种ETL工具,ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程. 常见的ETL工具有datastage.informatica.kettle.ODI.Cognos等 Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows.Linux.Unix上运行,数据抽取高效稳定.按项目负责人Matt的说法:就是把各种数据放到一个

利用触发器实现kettle数据同步

2016年8月17日 一.目的 通过触发器实现数据同步二.思路 1.在数据库需要同步的源表中建立一个insert触发器,当有新数据插入时,会自动将新插入数据的主键记录到临时表temp中.(当然也可以记录多个字段) 2.比较临时表temp和源表中的数据,匹配两个表中的主键值是否一致(也可以匹配多个字段),将符合条件的源表数据筛选出来,同步到目标表. 3.当同步完数据之后,清空temp表中的数据,进行下一轮同步.三.优缺点 1.优点 避免对相同数据的扫描,减少同步时间. 2.缺点 只在本地测试,未能

Curl实现Linux到Windows(FTP)的数据同步

我们今天主要介绍,如何使用Curl将linux的数据拷贝到Windows上,其实说到需求,其实有很多办法,比如scp.rsync及mount等工具或方法都可以实现Linux到Windows的数据同步,今天我们主要介绍Curl的数据同步方法,使用Curl的缺陷就是需要在Windows上启用FTP服务,然后配置目录等信息,对于其他的方法,我们会在后面的文章再做介绍, 我们首先在windows上需要启用FTP服务,服务器管理器---添加WEB服务器(IIS) 在IIS角色服务中勾选启用FTP服务器等角