ETL工具-Kettle Spoon教程

一 。Kettle Spoon简介

     ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,了解并掌握一种etl工具的使用,必不可少,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,使用它减少了非常多的研发工作量,提高了我们的工作效率。

Kettle中有两种脚本文件,transformation(转换ktr结尾)和job(任务kjb结尾),transformation完成针对数据的基础转换,job则完成整个工作流的控制(工作流程首先由个开始节点【可以设置定时执行】 可以选择transformation)。

官网 :http://kettle.pentaho.org/ 
下载的最新版本的kettle是:pdi-ce-7.1.0.0-12

官方入门文档 :https://wiki.pentaho.com/display/EAI/Getting+Started

二。kettle Spoon 安装入门

 1》 安装kettle spoon

kettle是使用java编写 直接是绿色版 解压即可使用 解压后的目录结构
ETL工具-Kettle Spoon教程_第1张图片

lib目录 可以存放第三方的jar  比如 数据库的驱动包 将来如果要连接某个数据库 将驱动包置入这个lib目录即可
spoon.bat是可执行文件 启动之前确保 jdk安装 环境变量(PATH和JAVA_HOME) 可以直接输入java和javaw 
ETL工具-Kettle Spoon教程_第2张图片

主对象树就两种类型脚本 转换和作业

 2》kettle spoon操作和核心对象介绍

 》》转换 

   转换菜单点击右键 新建 就创建了一个ktr结尾的转换脚本 
  ETL工具-Kettle Spoon教程_第3张图片
   新建好转换脚本后 主窗口的转换1 打开时 就可以拖拽控件到主窗口了 如果想重新再新建一个转换需要切换到欢迎页签
核心对象就是可以拖拽的控件 这里主要介绍几个核心对象 
比如 我想转换一个 csv文件到excel文件 

  •   输入 (CSV文件)

     核心对象中有各种不同的输入源 比如表(数据库) csv ldap access等
     比如 任意位置新建一个csv文件添加两列数据
    

 在转换脚本上拖拽一个csv输入的核心对象  选择该文件 并且指定两个列名和表格列名一致
ETL工具-Kettle Spoon教程_第4张图片

 

  •   输出  (EXCEL文件)

     核心对象中 将数据转换后写入的目的地 比如插入和更新(目的表存在更新不存在插入) 删除(输入存在的记录就删除目标表对应记录)

    添加一个excel输出
  ETL工具-Kettle Spoon教程_第5张图片

数据excel输出 设置 选择输出的文件保存位置

ETL工具-Kettle Spoon教程_第6张图片

  •   Hops节点连接 (输入和输出连一条线)

    数据从哪里流到哪里 可以再源对象上 shift键 鼠标拖动 也可以在主对象树中 Hops(节点连接) 上双击 手工选定
  ETL工具-Kettle Spoon教程_第7张图片

最后点击 三角运行按钮 运行 发现保存的excel中存在文件了

 》》作业

作业可以理解为一套流程 流程从开始节点开始执行 直到最后
模拟一个简单作业 就是让上面那个转换每5s中执行一次 
定义一个开始节点
ETL工具-Kettle Spoon教程_第8张图片

拖一个转换指定到开始那个aa的转换  shift 拉动线条

ETL工具-Kettle Spoon教程_第9张图片

点击运行 发现每5s执行一次转换程序 如果需要停止 点击停止按钮即可

 3》数据库转换案例

 比如要实现将数据库testkettle的userinfo表的数据导入到userinfo1 同时还要导出到excel文件中
 userinfo表结构如下

userinfo1的表结构如下(注意两张表的字段不一样哦)

 首先双击转换 新建一个转换  转换中配置数据库连接 先将驱动包 丢到kettle的lib目录下
ETL工具-Kettle Spoon教程_第10张图片

输入完成后 点击测试按钮测试一下 
拖拽一个 输入 (表输入)到界面上  选择数据源的表 或者自己编写sql语句
ETL工具-Kettle Spoon教程_第11张图片

添加一个excel输出 选择excel输出的位置 即可 拉上节点连接
添加一个 插入/更新 (选择插入的目标表【字段对应】 更新是用目标表的哪个字段和输入数据源的哪个字段比)
   如果userinfo1不在同一个数据库中 数据库连接选择其他数据库连接(自己新建) 即可

ETL工具-Kettle Spoon教程_第12张图片

完成后 拖拽一根节点连接到  会有个确认框

ETL工具-Kettle Spoon教程_第13张图片

点击运行发现excel和userinfo1都存在数据

 

 

你可能感兴趣的:(分布式应用)