kettle学习笔记(五)——kettle输出步骤
一、概述
数据库表:
• 表输出
• 更新,删除,插入/更新
• 批量加载(mysql,oracle)
• 数据同步
文件:
• SQL 文件输出
• 文本文件输出
• XML 输出
• Excel Output/Excel Writer
其他(报表、应用)
二、数据库输出
1.表输出
使用SQL的方式向数据库插入数据(INSERT)
支持批量提交
支持分区(Date分区)
支持字段映射
支持返回自增列
这里提示一下出现表输出的中文乱码问题的解决方案:
设置连接编码:characterEncoding utf8

设置连接编码一般就可以正常输出不乱吗的字符了。如果还有问题,可以继续设置客户端编码
设置客户端:set names utf8;

一个测试的表输出如下:

如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表)
2.返回自增主键
表输出的配置如下:

预览即可查看返回的主键:

3.数据库字段映射
前面步骤可以后后面表输出进行字段映射匹配:
表输出配置如下:

字段映射:
使用猜一猜可以进行名称匹配,如果需要手动匹配,可以左右分别选择,点击Add即可!
并且映射完成之后也可以删除丢弃某些字段

4.其它操作——删除、更新、插入更新
删除:
根据关键字匹配,删除数据库中已有的数据。
更新:
根据关键字匹配,更新数据库中已有的数据。
插入更新:
有则更新,无则插入。
操作都是类似,上面进行匹配,下面进行处理:

5.数据同步
基于比较的同步方式。根据一个flag字段执行相应的插入/更新/删除操作。
配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1

6.批量加载
使用流方式加载数据


MySQL批量加载需要在Linux环境运行(有命令只能在Linux下运行)
Oracle需要本地有oracle客户端(sqlldr文件,在Oracle安装目录下查找)
三、文件输出
1.SQL文件输出
根据选中的数据库类型,生成相应的 SQL 脚本(DDL,DML)。

2.excel文件输出
注意2007以前的版本有65536的行数限制:

3.文本文件输出
比如txt json等,暂不赘述
四、其它输出
1.报表输出
生成报表(pdf,excel,html等格式),需要事先定义好报表模板。
2.XML输出
同样,暂不赘述
kettle学习笔记(五)——kettle输出步骤的更多相关文章
- Kettle学习笔记(四)— 总结
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle中设置编码 ...
- Kettle学习笔记(二)— 基本操作
目录 Kettle学习笔记(一)- 环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 打开Kettle 打开 ...
- Kettle学习笔记(一)— 环境部署及运行
目录 Kettle学习笔记(一)-环境部署及运行 Kettle学习笔记(二)- 基本操作 kettle学习笔记(三)- 定时任务的脚本执行 Kettle学习笔记(四)- 总结 Kettle简介 Ket ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时])
目录 go微服务框架kratos学习笔记五(kratos 配置中心 paladin config sdk [断剑重铸之日,骑士归来之时]) 静态配置 flag注入 在线热加载配置 远程配置中心 go微 ...
- C++基础 学习笔记五:重载之运算符重载
C++基础 学习笔记五:重载之运算符重载 什么是运算符重载 用同一个运算符完成不同的功能即同一个运算符可以有不同的功能的方法叫做运算符重载.运算符重载是静态多态性的体现. 运算符重载的规则 重载公式 ...
- openresty 学习笔记五:访问RabbitMQ消息队列
openresty 学习笔记五:访问RabbitMQ消息队列 之前通过比较选择,决定采用RabbitMQ这种消息队列来做中间件,目的舒缓是为了让整个架构的瓶颈环节.这里是做具体实施,用lua访问Rab ...
随机推荐
- C# dynamic类型报错:“object”不包含“xxx”的定义
一.起因: 最近在做的一个项目,因为很多地方要用到同一套流程.为了后期维护,要求将共用流程进行抽离,创建为一个公用的类库.在抽离之前程序运行是没有问题的,然而在抽离之后就得到了如题错误: object ...
- SD从零开始25-28
SD从零开始25 装运的组织单元(Organizational Units in Shipping) 组织结构-后勤Organizational Structure-Logistics Plant在后 ...
- FI配置步骤清单
1.定义公司代码 配置路径: R/3定制IMG的实施指南>企业结构>定义>财务会计>定义, 复制, 删除, 检查公司代码 事务代码 EC01 2.编辑科目表清单 配置路 ...
- FineReport新增多项目甘特图示例及操作
1.描述 我们在做报表的时候,往往想体现其中随着时间的变化而产生的项目进度的变化和其他相关的系统进展,每当这种时候甘特图便是其中的不二之选.FineReport新增的多项目甘特图可以说是满足了大多数的 ...
- maven 学习笔记--简介
1.什么是maven Maven是一个服务于基于java平台的项目构建.依赖管理和项目信息管理. 2:什么是构建,maven是个优秀构建工具? (1)构建(bulid):对代码的进行编译.运行单元测试 ...
- 转:.NET面试题汇总(三)
原文地址:http://www.cnblogs.com/yuan-jun/p/6600692.html 1.简述 private. protected. public. internal 修饰符的访问 ...
- 微信小程序里使用阿里巴巴矢量图标
登录 阿里巴巴矢量图标 (https://www.iconfont.cn) 选中图标,加入购物车图标 下载源代码 解析出来如下文件结构 有两种使用方式: 1)不转换成base64的文件 找到 icon ...
- JVM & GC 笔记
0. 说明 转载并修改自JVM 1. JVM 1.1 什么是JVM JVM为Java虚拟机(Java Virtual Machine) Runtime data area,运行时数据区. 包含5个区域 ...
- 【转】Spring学习---Spring IoC容器的核心原理
[原文] Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国. IoC和DI的基本概念 IoC(控制反转,英文含义:Inverse of Control)是Spr ...
- Beta阶段第三次冲刺
Beta阶段第三次冲刺 严格按照Git标准来,组员有上传Git的才有贡献分没有的为0 代码签入图 1.part1 -站立式会议照片 2.part2 -项目燃尽图 3.part3 -项目进展 1.正在进 ...