文档章节

记录Kettle的学习过程

OSC_ChxWms
 OSC_ChxWms
发布于 2017/03/11 10:03
字数 726
阅读 33
收藏 1

最近公司需要进行一个简单的数据同步,我就把自己学习的过程记录下来。很简单的。

首先第一步,安装jdk.这里我安装的是jdk1.7.0_80。kettle7.0是需要1.8的。但是我连接的是SQLserver数据库,还需要jdbc的包。我试了很多次最后还是没有成功(如果有成功的希望能和我分享一下),所以我最后还是用了kettle5.0。5.0的话装jdk1.7就行了。环境配置什么的我就不多说了,配置好以后进入第二步。

第二步,运行。点击Spoon.bat就可以将程序跑起来了。

然后就建立转换了,点击  文件>>新建>>转换  就建立了一个转换。

接下来我们添加一个表输入(数据库的话就使用表输入就可以了,也有很多其他的输入,这个软件还是很强大的,以后再慢慢探究吧)添加以后双击表输入。进行数据源配置,新建一个数据源

主机名称就是ip地址,配置好以后点击确定。然后点击获取SQL查询语句,就可以获得要查询的字段。然后你就可以对查询添加加where,order by等条件。这样一来,表输入就配置好了。

然后添加一个表输出,配置输出,和配置输入差不多。配置好以后点击数据库字段,就可以选择你需要输出的字段。以及该字段对应的数据流。

这样,最简单的输入输出就完成了,但是我的任务需要我对源数据进行一个列转行的操作。所以需要在转换中添加一个列转行的操作。

。然后对列转行进行配置。

两张图,对应着看吧,不难理解。这是原表的结构。

这是转换以后的表结构

这样一来,就实现了列转行。然后我还需要实现一个对其中的两列的值进行一个除以100的运算处理,先添加一个增加常量的步骤,然后再添加一个计算器的步骤。

对增加常量进行配置,添加一个值为100的常量列

然后使用计算器进行运算处理

很简单的吧。。

然后还有呢,我还得实现增量同步。这个也很简单,就是利用我表中时间的那一列。先查出目标表里的最新的时间,然后设置我从源表里的时间要大于目标表里的最大的那个时间。

一定要记得在下方的 从步骤插入数据 那里设置从前面一步获取数据。

这样一来我的工作就完成了。

第一次写博客,不足之处请多多指教。

 

 

© 著作权归作者所有

OSC_ChxWms
粉丝 0
博文 1
码字总数 726
作品 0
私信 提问
Kettle发送邮箱并在正文中以表格形式展示内容[升级版]

在上一篇关于Kettle发送邮件并在正文中以表格形式展示内容的文章中,已经提到Kettle邮箱正文中支持HTML格式,要在邮箱正文中展示表格,那就行拼出HTML,然后扔到邮箱正文中. 方法就是这么简单直接...

夏一
01/12
0
0
ETL利器Kettle实战应用解析系列一【Kettle使用介绍】

一、ETL利器Kettle实战应用解析系列一【Kettle使用介绍】 二、ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】 三、ETL利器Kettle实战应用解析系列三 【ETL后台进程执行配置方式...

李丁玲
2016/03/04
426
0
kettle里使用DB存储过程组件的问题

MSSQL server2008 创建存储过程如下: CREATE PROCEDURE [dbo].[GetLISCriticalValue] @LocationCode varchar(50) AS SELECT * FROM dbo.t_critical_value 得到的是一个记录集。 我在kettle里......

海子海子
2018/06/01
600
1
解决kettle调度效率低,不可高并发调度方法

“我在spoon里面运行一个作业只要几秒种,但是在命令行中运行却要好几十秒?” “并行同时运行几个job,就把内存撑爆了,Kettle好占资源呀!” Kettle作为用户规模最多的开源ETL工具,强大简...

波波夫空袭
2017/10/31
809
1
Kettle实现数据库迁移

需求: 做数据仓库时,需要将业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为实现数据库的迁移,即将SqlServer数据库中的所有...

Zero零_度
2016/11/16
158
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
423
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
4
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
3
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
7
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部