ETL工具-Kettle Spoon教程

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

大家好,又见面了,我是你们的朋友全栈君。

一 。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教程

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

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

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

 》》转换 

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

  •   输入 (CSV文件)

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

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

 

  •   输出  (EXCEL文件)

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

    添加一个excel输出
  ETL工具-Kettle Spoon教程

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

ETL工具-Kettle Spoon教程

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

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

最后点击 三角运行按钮 运行 发现保存的excel中存在文件了
ETL工具-Kettle Spoon教程

 》》作业

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

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

ETL工具-Kettle Spoon教程

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

 3》数据库转换案例

 比如要实现将数据库testkettle的userinfo表的数据导入到userinfo1 同时还要导出到excel文件中
 userinfo表结构如下
ETL工具-Kettle Spoon教程

userinfo1的表结构如下(注意两张表的字段不一样哦)
ETL工具-Kettle Spoon教程

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

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

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

ETL工具-Kettle Spoon教程

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

ETL工具-Kettle Spoon教程

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

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142386.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超强、超详细Redis入门教程[通俗易懂]

    转载自:http://www.h5min.cn/article/56448.htm这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下【本教程目录】1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端

    2022年4月6日
    36
  • error LNK2019: 无法解析的外部符号的几种情况探讨[通俗易懂]

    error LNK2019: 无法解析的外部符号的几种情况探讨[通俗易懂]errorLNK2019:无法解析的外部符号的几种情况探讨。

    2022年10月6日
    0
  • 软件测试人员应该如何介绍自己测试过的项目工作_软件测试项目介绍

    软件测试人员应该如何介绍自己测试过的项目工作_软件测试项目介绍测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。要解决这个问题,大体上可以分为如下几个步骤:1、对项目进行基本介绍2、说明自己负责测试的模块3、针对部分模块展开进行说明一.对项目进行基本介绍以下就以一个简单的项目进行介绍说明:最近测试的Tpshop项目是一个B/S架构的Web项…

    2022年10月20日
    0
  • linux修改smb端口_sftp默认端口号是多少

    linux修改smb端口_sftp默认端口号是多少本文介绍如何在Linux操作系统中更改默认的SFTP端口,支持Ubuntu、CentOS等发行版,同时还将向您展示如何配置防火墙以允许在新端口上使用。先声明的一点是不要将SFTP与FTPS混淆,因为两种协议具有相同的目的,FTPS代表FTPSecure,它是对标准FTP协议的扩展,支持TLS。简介SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件,它还允许您…

    2022年9月14日
    0
  • sql连接本地数据库

    sql连接本地数据库sql连接本地数据库安装好SQL2008后,界面只有已安装的包和正在运行的包左侧没有数据库,无法进行数据库操作.这是因为打开软件后,会提示连接一个东西,连接的时候按照默认的话就会连接错。如果出现提示连接成功后的界面只有两个文件夹“已安装的包”、“正在运行的包”,则是连接到了IntegrationServices,而非SQLServer数据库引擎。解决方法:在对象资源管理器中,选择…

    2022年5月18日
    107
  • CTK Plugin Framework简介

    CTK Plugin Framework简介CTKPluginFramework简介 框架简介 1.1、简介CTKPluginFramework设计参考了OSGi(OpenServiceGatewayInitiative,开放服务网关协议)(Java的动态组件系统),并提供了一种能让应用程序(动态地)由许多不同的可重用组件组成的开发模型,允许通过服务进行通信。OSGi规范的核心部分是一个框架,核心框架定义了应用程序的生命周期模式和服务注册。基于OSGI核心框架定义了大量的OSGi服务:日志、配置管理、HTTP(运行se

    2022年6月4日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号