Kettle使用

一、环境搭建

1、配置JDK环境

      资料地址:https://www.jianshu.com/p/682cff20a58c

      官网下载:http://www.oracle.com/technetwork/java/archive-139210.html 

2、电脑安装mysql和navicat for mysql

3、安装kettle

     下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/ (官网比较不稳定,需多刷几次)

      安装方法:下载后,直接解压即可,免安装

      注:安装任意版本都可,一般安装7(见下图)

Kettle使用_第1张图片

 

 

 

 

 

 

 

 

3、运行spoon

  • 在不同的平台上运行spoon所支持的脚本:
  • Spoon.bat:在Windows平台上运行spoon;
  • Spoon.sh:在Linux、AppleOSX、Solaris平台上运行Spoon

4、配置问题

4-1、kettle 安装出现A Java exception occur

         原因:官网目前download的kettle要求jdk1.8以上,本机是jdk1.7会报错:a java exception has occurred

         办法:降级kettle8.0、7.0至6.0

二、kettle使用

1、转换

1.1 转换---输入配置

  •  建立输入,如下图  

    Kettle使用_第2张图片

  •  双击输入表,配置输入表(即与本地或远程数据库连接)
  •  输入连接名称+选择数据库(本机是mysql)+ 输入数据库相关信息,见下图

       Kettle使用_第3张图片

  • 点击测试连接,出现下面弹窗,则说明配置连接成功

        Kettle使用_第4张图片

  • 配置成功后,获取表结构信息等信息(本地mysql中已建立相关输入表)

        Kettle使用_第5张图片

  • 预览表中具体数据信息

      Kettle使用_第6张图片

其他补充

      出现问题: Kettle使用_第7张图片

      问题原因:kettle在初次配置的时候容易出这个问题,这个是由于java程序在连接mysql数据库的时候缺少驱动

     解决办法:我的kettle版本是4.4,将对应的mysql驱动包(mysql-connector-java-5.1.15-bin.jar)放到下kettle的目录:data-                                  integration\libext\JDBC下。需要重新启动kettle才能生效

1.2 转换——连接配置

  • 双击转换按钮   Kettle使用_第8张图片
  • 点击确定后,弹出弹窗提示“是否输入表已排序”(这里转换必须对原表进行排序)

        Kettle使用_第9张图片

  • 如果输入表未排序,进行下面a~b操作

       a.对原表进行排序,增加一行sql排序语句

          Kettle使用_第10张图片

        b. 查看排序后表信息

         Kettle使用_第11张图片

1.3 转换——输出

  • 输出两个文件,一个表输出,一个excel输出
  • 配置表输出

       Kettle使用_第12张图片Kettle使用_第13张图片

  • 连接成功后,将输出表放置到目标表中&配置数据库字段

        具体操作:

         a.浏览输出数据库,选择输出表;

         b.勾选“制定数据库字段”徐娘,通过“获取字段”按钮将目前字段情况输出;

         c.删除无用字段项

         Kettle使用_第14张图片

  •        输出文件配置

         Kettle使用_第15张图片

         Kettle使用_第16张图片

   温馨提示:

           输出为表时,必须事先在mysql中建立输出表;

           输出为文件格式,方便没有权限用户查看,会自动建立文本,无需手动建立

1.4 转换——保存&运行

     Kettle使用_第17张图片

     运行成功,转换结束

     其他补充

     问题:输出表中字符类型显示???

    原因:Mysql字符集未修改成utf8,Navicat for MySQL已经修改正确

    方法:进入mysql目录下,用命令修改字符集

               修改my_default.ini配置文件,增加三行代码[client] 、default-character-set=utf8 、character-set-server=utf8

               之后将文件名改为my.ini

               重启mysql,即可生效

               保证MySQL字符集配置正确的前提下,在navicat的连接属性中勾选使用MYSQL字符集

                

2、作业

目标:定时自动执行&完成邮件提醒

模块:START+转换+邮件

  • START模块配置(设置每月执行or每天or每秒)

      Kettle使用_第18张图片

  • 转换模块设置(直接将之前配置的转换加载即可)

        Kettle使用_第19张图片

  • 邮件模块设置(四个tab都需要设置)

你可能感兴趣的:(kettle)