前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kettle学习笔记(五)——kettle输出步骤

kettle学习笔记(五)——kettle输出步骤

作者头像
HUC思梦
发布2020-09-03 15:44:48
3K0
发布2020-09-03 15:44:48
举报
文章被收录于专栏:HUC思梦的java专栏

一、概述

  数据库表:     • 表输出     • 更新,删除,插入/更新     • 批量加载(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输出

    同样,暂不赘述

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
  • 二、数据库输出
  • 三、文件输出
  • 四、其它输出
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档