pentaho之kettle篇---kettle基本操作
今天先来做一个简单的kettle的例子。
打开输入,选择CSV文件输入。

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

步骤名称:就是你这一步的名字,可以任意取,原则就是要明白,清楚这一步是做了什么操作。
文件名:是你要选取的这个.CSV结尾的文件的名称。
列分隔符:每个CSV文件都是有一定的规则的,要么是分号是分隔符,要么是逗号是分隔符等等。
包含列头行:这个是针对你的这个CSV是否具有表头,如果有就勾上,否则他就把第一行的表头当成数据导入了。
这样选择一个CSV格式的文件之后就可以了,接下来点击一下获取字段,得到如下图所示:

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

以上就是预览的内容了。
之后点击确定就OK了。
之后再来说说输出的操作。
这次输出的操作我们选择的是MySQL数据库,首先需要文件---->新建------->数据库连接。

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

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

数据库连接就是我们刚才创建的数据库连接,如果不是我们想要的,可以另外再创建一个连接。
目标数据库如果没有创建的话,我们可以先写一个名字,然后再点击SQL,就出现了一个执行创建的sql的界面:

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

下面我们点击Run,
输出日志如下:

步骤度量如下:

之前表里面有2823个数据,所以这一次执行成功了!
但是!!!
这里面有一个问题,我们可以再Run一下这个转换,发现又导入了2823条记录。再来看看数据库里面的数据:

纳尼,怎么是5646???
怎么解决???
这中间是需要一个过滤的操作的,基本的思想就是:ID一样的就是Update,ID不一样的就是插入就去就可以了。
这就需要另外一个输出的功能了,就是插入/更新。

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

至此一个transformation就可以了。
pentaho之kettle篇---kettle基本操作的更多相关文章
- pentaho专题系列之kettle篇--kettle源码编译
最近看了一些kettle的文章,都是kettle7.0以前的,已经跟不上时代了.截止笔者写这篇文章的时候,github上面的已经是7.1.0.3了,而且是发行版的,最新的快照版本已经是8.0的了.基于 ...
- ETL第一篇(Kettle Spoon) 初遇
ETL第一篇(Kettle Spoon) 初遇 ETL第二篇 调用webservice 简介 Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移 ...
- iOS开发多线程篇—NSOperation基本操作
iOS开发多线程篇—NSOperation基本操作 一.并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数. ...
- mysql基础篇 - 其他基本操作
基础篇 - 其他基本操作 其他基本操作 一.实验简介 本节实验中我们将学习并实践数据库的其他基本操作:索引.视图,导入和导出,备份和恢复等. 这些概念对于数据库管理员而言都非常重要,请 ...
- ETL工具--kettle篇(17.10.09更新)
ETL是EXTRACT(抽取).TRANSFORM(转换).LOAD(加载)的简称,实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护中的重要一环也是工作量较大的一块.当前知道的 ...
- kettle安装部署基本操作及实操文档
一.kettle是什么? Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window. ...
- kettle系列-kettle管理平台部署说明
本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...
- kettle教程---kettle作业调度,根据更新时间增量更新
本文接上一篇,只写到读取日志.在平时工作当中,会遇到这种情况,而且很常见.比如:增量抽取(每隔2个小时抽取截至到上次抽取时间的记录) 本文中会用到作业,先来熟悉下作业的概念 简单地说,一个转换就是一个 ...
- KETTLE——初见KETTLE
(PS:这是很早以前在CSDN上发过的,那个账号不想用了,所以搬过来) 就在前一段时间,因为公司需要突然被老大告知要用一个ETL工具,第一次知道这么个工具,完全不知道是做什么的.大概问了一下,说是一种 ...
随机推荐
- 遇到looper之类关于消息循环的
原因大概是因为无法创建消息循环,这时候要考虑函数是否要在主线程或者不在主线程中进行,改一下即可
- 工厂方法模式(Java与Kotlin版)
前文推送 设计模式 简单工厂模式(Java与Kotlin版) Kotlin基础知识 Kotlin入门第一课:从对比Java开始 Kotlin入门第二课:集合操作 Kotlin入门第三课:数据类型 初次 ...
- HTML5+CSS3实现的响应式垂直时间轴
<!DOCTYPE HTML><html><head><meta charset="utf-8"><meta name=&qu ...
- MySQL常用基本命令
启动MySQL /etc/init.d/mysqld start 优雅的关闭数据库的方法 1:使用MySQLadmin mysqladmin -uroot -p123456 shutdown 2:使用 ...
- Hessian服务端和客户端示例
一.服务端 1.创建web项目,建立客户端调用的hessian接口和实现类. 接口: package com.ymx.hessian.service; import com.ymx.hessian.s ...
- socket 异步通信的一些问题
socket通信在使用时被封装很简单,像操作文件一样简单,正是因为简单里面好多细节需要深入研究一下. windows下通信有select和iocp方式,select是传统方式,在socket里使用re ...
- Spring和SpringMVC父子的容器之道---[上篇]
Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而在实际开发中,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但在实际项目中,我们经常会 ...
- 使用java语言编写窗口按钮
使用java语言编写窗口按钮 代码如下: package Day08; import java.awt.FlowLayout; import javax.swing.JButton;import ja ...
- 在linux中安装git,并将代码发布到github
楼主Git小白,今天刚刚学习了git,虽然在工作中也许用不到,但是在学习的时候肯定会用到的,毕竟一个程序员首先就要整理自己的知识点,将美丽的代码分享与大家. 楼主是将Git安装在阿里云的centos7 ...
- input复选框操作的部分高频率使用代码
1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $("input:[type='checkb ...