今天先来做一个简单的kettle的例子。

打开输入,选择CSV文件输入。

双击CSV文件输入图标,可以看见如下:

步骤名称:就是你这一步的名字,可以任意取,原则就是要明白,清楚这一步是做了什么操作。

文件名:是你要选取的这个.CSV结尾的文件的名称。

列分隔符:每个CSV文件都是有一定的规则的,要么是分号是分隔符,要么是逗号是分隔符等等。

包含列头行:这个是针对你的这个CSV是否具有表头,如果有就勾上,否则他就把第一行的表头当成数据导入了。

这样选择一个CSV格式的文件之后就可以了,接下来点击一下获取字段,得到如下图所示:

点击一下预览,会提示要预览的行数没输入你要预览的行数就行了。

以上就是预览的内容了。

之后点击确定就OK了。

之后再来说说输出的操作。

这次输出的操作我们选择的是MySQL数据库,首先需要文件---->新建------->数据库连接。

填写上基本的数据库信息就OK了,点击测试出现

说明你的连库信息是正确的,点击确定就可以了。这一步的连接数据库只是针对于这个装换的。对于其他转换我们需要重新制定数据库!

双击表输出:

数据库连接就是我们刚才创建的数据库连接,如果不是我们想要的,可以另外再创建一个连接。

目标数据库如果没有创建的话,我们可以先写一个名字,然后再点击SQL,就出现了一个执行创建的sql的界面:

里面有些字段的类型是可以改的,改成你需要的字段的类型。之后点击执行就行了。这一次我们再查看一下我们数据库里面的表,就有字段了。

下面我们点击Run,

输出日志如下:

步骤度量如下:

之前表里面有2823个数据,所以这一次执行成功了!

但是!!!

这里面有一个问题,我们可以再Run一下这个转换,发现又导入了2823条记录。再来看看数据库里面的数据:

纳尼,怎么是5646???

怎么解决???

这中间是需要一个过滤的操作的,基本的思想就是:ID一样的就是Update,ID不一样的就是插入就去就可以了。

这就需要另外一个输出的功能了,就是插入/更新。

在这里面设置需要过滤的条件就可以了。

至此一个transformation就可以了。

pentaho之kettle篇---kettle基本操作的更多相关文章

  1. pentaho专题系列之kettle篇--kettle源码编译

    最近看了一些kettle的文章,都是kettle7.0以前的,已经跟不上时代了.截止笔者写这篇文章的时候,github上面的已经是7.1.0.3了,而且是发行版的,最新的快照版本已经是8.0的了.基于 ...

  2. ETL第一篇(Kettle Spoon) 初遇

    ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...

  3. iOS开发多线程篇—NSOperation基本操作

    iOS开发多线程篇—NSOperation基本操作 一.并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数. ...

  4. mysql基础篇 - 其他基本操作

    基础篇 - 其他基本操作         其他基本操作 一.实验简介 本节实验中我们将学习并实践数据库的其他基本操作:索引.视图,导入和导出,备份和恢复等. 这些概念对于数据库管理员而言都非常重要,请 ...

  5. ETL工具--kettle篇(17.10.09更新)

    ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...

  6. kettle安装部署基本操作及实操文档

    一.kettle是什么? Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window. ...

  7. kettle系列-kettle管理平台部署说明

    本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...

  8. kettle教程---kettle作业调度,根据更新时间增量更新

    本文接上一篇,只写到读取日志.在平时工作当中,会遇到这种情况,而且很常见.比如:增量抽取(每隔2个小时抽取截至到上次抽取时间的记录) 本文中会用到作业,先来熟悉下作业的概念 简单地说,一个转换就是一个 ...

  9. KETTLE——初见KETTLE

    (PS:这是很早以前在CSDN上发过的,那个账号不想用了,所以搬过来) 就在前一段时间,因为公司需要突然被老大告知要用一个ETL工具,第一次知道这么个工具,完全不知道是做什么的.大概问了一下,说是一种 ...

随机推荐

  1. [leetcode-506-Relative Ranks]

    Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...

  2. Disruptor的应用示例——大文件拆分

    结合最近Disruptor的学习,和之前一直思考解决的大文件拆分问题,想到是否可以使用Disruptor作为生产者/消费者传递数据的通道呢?借助其高效的传递,理论上应当可以提升性能.此文便是此想法的落 ...

  3. 短信发送接口被恶意访问的网络攻击事件(四)完结篇--搭建WAF清理战场

    前言 短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本 ...

  4. MyBatis-sql映射文件

    Sql映射文件 MyBatis真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL映射的XML文件是相当的简单.当然如果你将它们和对等功能的JDBC代码来比较,你会发现映射文件节省了 ...

  5. MySQL实例

    建表实例: CREATE TABLE command_content( ID ) PRIMARY KEY NOT NULL AUTO_INCREMENT, CONTENT ), COMMAND_ID ...

  6. 一级缓存二级缓存(hibernate)

    缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事 ...

  7. Ant部署(linux)

    1.下载 mkdir /opt/ant cd /opt/ant wget http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.4- ...

  8. Oracle查询多行数据合并成一行数据

    例如: select base_id, translate (ltrim (text1, '/'), '*/', '*,') xmmc,translate (ltrim (text2, '/'), ' ...

  9. DotNetCore跨平台~Dockerfile的解释

    回到目录 大叔感觉网上对Dockerfile的说明不是很清楚,或者说怎么去用说的不清楚,在vs2017里我们可以去建立自己的Dockerfile文件,然后你的项目可以被生成一个镜像,把它推到仓库之后, ...

  10. TCP常见的定时器三次握手与四次挥手

    1.TCP常见的定时器 在TCP协议中有的时候需要定期或者按照某个算法对某个事件进行触发,那么这个时候,TCP协议是使用定时器进行实现的.在TCP中,会有七种定时器: 建立连接定时器(connecti ...