• 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输出

        同样,暂不赘述

  • 相关阅读:
    T-Sql语法:行转列(pivot)和列转行(unpivot)
    T-Sql语法:GROUP BY子句GROUPING SETS、CUBE、ROLLUP
    Asp.net使用Plupload上传组件详解
    form标签属性enctype之multipart/form-data请求详解
    基于Owin Oauth2构建授权服务器
    AutoFac使用~IOC容器(DIP,IOC,DI)
    第二节:模型(Models)和管理后台(Admin site)
    第三节:视图(Views)和模板(Templates)
    THINKPHP 3.2 PHP SFTP上传下载 代码实现方法
    Linux 上导出导入sql文件到服务器命令
  • 原文地址:https://www.cnblogs.com/lm970585581/p/9216314.html
Copyright © 2020-2023  润新知