“Kettle输出步骤”的版本间的差异

来自小能手俱乐部
跳到导航 跳到搜索
(创建页面,内容为“== 概述 == 数据库表: * 表输出 * 更新,删除,插入/更新 * 批量加载(mysql,oracle) * 数据同步 文件: * SQL 文件输出 * 文本…”)
 
 
第29行: 第29行:
支持返回自增列
支持返回自增列


//这里提示一下出现表输出的中文乱码问题的解决方案:设置连接编码:characterEncoding utf8
出现表输出的中文乱码问题的解决方案:设置连接编码:characterEncoding utf8


插图
[[文件:Ct4-1.png|无框|540x540像素]]


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


插图
[[文件:Ct4-2.png|无框|544x544像素]]
 
一个测试的表输出如下:
 
[[文件:Ct4-3.png|无框|441x441像素]]


如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表)
如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表)
第44行: 第48行:
表输出的配置如下:
表输出的配置如下:


插图
[[文件:Ct4-4.png|无框|546x546像素]]


选择了【裁剪表】,在数据加载之前会对此表做truncate操作。
选择了【裁剪表】,在数据加载之前会对此表做truncate操作。
第50行: 第54行:
预览即可查看返回的主键:
预览即可查看返回的主键:


插图
[[文件:Ct4-5.png|无框|628x628像素]]


=== 数据库字段映射 ===
=== 数据库字段映射 ===
第57行: 第61行:
表输出配置如下:
表输出配置如下:


插图
[[文件:Ct4-6.png|无框|523x523像素]]


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


插图
[[文件:Ct4-7.png|无框|552x552像素]]


=== 其它操作——删除、更新、插入更新 ===
=== 其它操作——删除、更新、插入更新 ===
第74行: 第78行:
操作都是类似,上面进行匹配,下面进行处理:
操作都是类似,上面进行匹配,下面进行处理:


插图
[[文件:Ct4-8.png|无框|465x465像素]]


=== 数据同步 ===
=== 数据同步 ===
第80行: 第84行:


配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1
配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1
[[文件:Ct4-9.png|无框|458x458像素]]


=== 批量加载 ===
=== 批量加载 ===
使用流方式加载数据
使用流方式加载数据


插图
[[文件:Ct4-10.png|无框|315x315像素]]
 
[[文件:Ct4-11.png|无框|354x354像素]]


  MySQL批量加载需要在Linux环境运行(有命令只能在Linux下运行)
  MySQL批量加载需要在Linux环境运行(有命令只能在Linux下运行)
第95行: 第103行:
根据选中的数据库类型,生成相应的 SQL 脚本(DDL,DML)。
根据选中的数据库类型,生成相应的 SQL 脚本(DDL,DML)。


插图
[[文件:Ct4-12.png|无框|418x418像素]]


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


插图
[[文件:Ct4-13.png|无框]]


=== 文本文件输出 ===
=== 文本文件输出 ===

2021年10月29日 (五) 02:51的最新版本

概述

数据库表:

  • 表输出
  • 更新,删除,插入/更新
  • 批量加载(mysql,oracle)
  • 数据同步

文件:

  • SQL 文件输出
  • 文本文件输出
  • XML 输出
  • Excel Output/Excel Writer

其他(报表、应用)

数据库输出

表输出

使用SQL的方式向数据库插入数据(INSERT)

支持批量提交

支持分区(Date分区)

支持字段映射

支持返回自增列

出现表输出的中文乱码问题的解决方案:设置连接编码:characterEncoding utf8

生成缩略图出错:无法找到文件

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

生成缩略图出错:无法找到文件

一个测试的表输出如下:

Ct4-3.png

如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表)

如果是要错误输出,可以单击一下连接线改变输出方式(一把锁:开始了执行下面的,勾和叉:正确或者错误输出)

返回自增主键

表输出的配置如下:

生成缩略图出错:无法找到文件

选择了【裁剪表】,在数据加载之前会对此表做truncate操作。

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

生成缩略图出错:无法找到文件

数据库字段映射

前面步骤可以后后面表输出进行字段映射匹配:

表输出配置如下:

生成缩略图出错:无法找到文件

字段映射:

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

生成缩略图出错:无法找到文件

其它操作——删除、更新、插入更新

删除:根据关键字匹配,删除数据库中已有的数据。

更新:根据关键字匹配,更新数据库中已有的数据。

插入更新:有则更新,无则插入。

操作都是类似,上面进行匹配,下面进行处理:

生成缩略图出错:无法找到文件

数据同步

基于比较的同步方式。根据一个flag字段执行相应的插入/更新/删除操作。

配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1

Ct4-9.png

批量加载

使用流方式加载数据

Ct4-10.png

Ct4-11.png

  MySQL批量加载需要在Linux环境运行(有命令只能在Linux下运行)

  Oracle需要本地有oracle客户端(sqlldr文件,在Oracle安装目录下查找)

文件输出

SQL文件输出

根据选中的数据库类型,生成相应的 SQL 脚本(DDL,DML)。

Ct4-12.png

excel文件输出

注意2007以前的版本有65536的行数限制:

Ct4-13.png

文本文件输出

比如txt json等,类同。

其它输出

报表输出

生成报表(pdf,excel,html等格式),需要事先定义好报表模板。

XML输出

同样,暂不赘述。