本文我们来介绍一个非常好用的开源ETL工具——Kettle,它是纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~


目录

一、Kettle的简介

1.1 什么是Kettle

1.2 Kettle的特点

1.3 Kettle的组成

二、Kettle的安装部署

2.1 Windows下安装Kettle

2.2 创建资源库

2.2.1 数据库资源库

2.2.2 文件资源库

2.3 Linux下安装Kettle

2.3.1 单机模式

2.3.2 集群模式


一、Kettle的简介

1.1 什么是Kettle

Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1。2005年12月,Kettle从2.1版本开始进入了开源领域,一直到4.1版本遵守LGPL协议,从4.2版本开始遵守Apache Licence 2.0协议。Kettle在2006年初加入了开源的BI公司Pentaho,正式命名为:Pentaho Data Integeration,简称“PDI”。自2017年9月20日起,Pentaho已经被合并于日立集团下的新公司:Hitachi Vantara。总之,Kettle可以简化数据仓库的创建,更新和维护,使用Kettle可以构建一套开源的ETL解决方案。

1.2 Kettle的特点

1、免费开源。基于Java的免费开源软件,对商业用户也没有限制。

2、易配置。可以在Windows、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

3、不同数据库。ETL工具集,它允许你管理来自不同数据库的数据。

4、两种脚本文件。transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。job是步骤流,transformation是数据流,这是两者最大的区别。job的每一个步骤必须等到前面的步骤都跑完了后面的步骤才会执行;而transformation会一次性把所有控件全部先启动,一个控件对应一个线程,然后数据流会从第一个控件开始一条记录一条记录的流向最后的控件。

5、图形界面设计。通过图形界面设计实现做什么业务,无需代码去实现。

6、定时功能。在Job下的start模块,有一个定时功能,可以每日、每周等方式进行定时。

1.3 Kettle的组成

1、Spoon.bat/spoon.sh:是一个图形化界面,可以让我们用图形化的方式开发转换和作业。

2、Pan.bat/pan.sh:利用Pan可以用命令行的形式调用Trans。

3、Kitchen.bat/kitchen.sh:利用Kitchen可以使用命令行调用Job。

4、Carte.bat/Carte.sh:Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server。

二、Kettle的安装部署

我们可以通过点击此处访问Kettle的官网,通过点击此处下载Kettle。

2.1 Windows下安装Kettle

在实际企业开发中,都是在本地环境下进行kettle的job和Transformation开发的,可以在本地运行,也可以连接远程机器运行。下面就是安装Kettle的具体步骤:

1、安装Kettle之前必须安装jdk

2、解压下载好的安装包

3、双击Spoon.bat,启动图形化界面工具,就可以直接使用了。

2.2 创建资源库

2.2.1 数据库资源库

数据库资源库是将作业和转换相关的信息存储在数据库中,执行的时候直接去数据库读取信息,很容易跨平台使用。

1、点击右上角connect,选择Other Resporitory。

2、选择Database Repository

3、建立新连接

4、填好之后,在指定的数据库中可以发现已经创建了很多个内置的表格

5、连接资源库,默认账号密码均为admin

6、将存在的转换或者job导入资源库(初次操作,这里肯定是没有的,可以参考下一篇文章的例子)

(1)选择从XML文件导入

(2)选择对应的文件,点击保存即可。

2.2.2 文件资源库

将作业和转换相关的信息存储在指定的目录中,其实和XML的方式一样。创建方式跟创建数据库资源库步骤类似,只是不需要用户密码就可以访问,跨平台使用比较麻烦。

1、选择connect-->Repository Manager...-->Add->Other Repositories

2、填写相关信息,点击保存。

2.3 Linux下安装Kettle

2.3.1 单机模式

1、安装jdk

2、上传压缩包到服务器

3、解压

[root@master kettle]# unzip pdi-ce-8.2.0.0-342.zip

4、将MySQL的驱动包拷贝到对应的lib目录

[root@master software]# cp mysql-connector-java-5.1.47.jar kettle/data-integration/lib/

5、将Windows下面home目录下的.kettle文件夹拷贝到Linux的home目录下

6、运行数据资源库中的转换

[root@master data-integration]# ./pan.sh -rep=kettle_database -user=admin -pass=admin -trans=example1 -dir=/

其中,-rep代表资源库名称,-user代表资源库用户名,-pass代表资源库密码,-trans代表要启动的转换名称,-dir代表目录。

7、运行资源库里面的作业

./kitchen.sh -rep=kettle_database -user=admin -pass=admin -job=example2 -logfile=/root/files/logs.txt -dir=/

其中,-rep代表资源库名,-user代表资源库用户名,-pass代表资源库密码,-job代表job名,-dir代表job路径,-logfile代表日志目录。

2.3.2 集群模式

1、选择master节点作为Kettle的主服务器,上传kettle的安装包并解压。

2、修改配置文件

(1)修改carte-config-master-8080.xml配置文件

  <slaveserver><name>master1</name><hostname>master</hostname><port>8080</port><master>Y</master><username>cluster</username><password>cluster</password></slaveserver>

(2)修改carte-config-8081.xml配置文件

  <masters><slaveserver><name>master1</name><hostname>master</hostname><port>8080</port><username>cluster</username><password>cluster</password><master>Y</master></slaveserver></masters><report_to_masters>Y</report_to_masters><slaveserver><name>slave1-8081</name><hostname>slave01</hostname><port>8081</port><username>cluster</username><password>cluster</password><master>N</master></slaveserver>

(3)修改carte-config-8082.xml配置文件

  <masters><slaveserver><name>master1</name><hostname>master</hostname><port>8080</port><username>cluster</username><password>cluster</password><master>Y</master></slaveserver></masters><report_to_masters>Y</report_to_masters><slaveserver><name>slave2-8082</name><hostname>slave02</hostname><port>8082</port><username>cluster</username><password>cluster</password><master>N</master></slaveserver>

3、将kettle分发到其余各节点

[root@master software]# xsync kettle/

4、启动相关进程

./carte.sh master 8080./carte.sh slave01 8081./carte.sh slave02 8082

5、访问web页面

以上就是本文的所有内容,比较简单。你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题~

七十七、Kettle的简介与安装部署相关推荐

  1. Kettle分布式集群安装部署详细步骤和使用分布式Kettle集群示例

    Kettle分布式集群安装部署详细步骤和使用分布式Kettle集群示例 一.下载kettle和mysql驱动 二.相关技术博客 三.Kettle分布式集群环境准备 四.解压kettle 五.执行Kit ...

  2. Cloudera简介和安装部署概述

    Cloudera简介和安装部署概述 原创2016年09月06日 11:27:10 标签: Cloudera / 大数据 / CDH / Hadoop 12285 最近作者在研究Cloudera,并且在 ...

  3. Redis (一)Redis简介、安装部署

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. 既然是key-value,对于Java开发来说更熟悉的是Map集合.那就有问题了,有M ...

  4. Spark 简介与安装部署

    本教程为实验楼原创,转载请注明课程链接:https://www.shiyanlou.com/courses/456 1. 课程说明 本教程是实验楼Spark大数据动手实验训练营第一节,登录实验楼官网可 ...

  5. kattle的java安装,Kettle自定义JDK版本(附Linux下安装部署步骤)

    现需要在某台服务器上安装Kettle8.3,但该机器的JDK版本是JDK1.7,因此需要为Kettle单独指定 JAVA_HOME,方法如下: vi  data-integration/set-pen ...

  6. 【Storm】Storm简介及Storm集群的安装部署

    1.Storm概述 (1)Storm简介 Storm最早是由BackType公司开发的实时处理系统,底层由Clojure实现.Clojure也是一门基于JVM的高级面向函数式的编程语言.2011年Tw ...

  7. 01-PDI(Kettle)简介与安装

    文章目录 01-PDI(Kettle)简介与安装 PDI(Kettle)简介 Kettle安装 Kettle核心知识点 01-PDI(Kettle)简介与安装 最好的学习资料就是官网,附上官网文档地址 ...

  8. docker简介和安装(阿里云加速)以及Springboot项目部署docker,实现局域网下同时访问项目(详细过程)

    文章目录 关于Docker: Docker简介 Docker优势 Docker的基本组成 Docker安装: Springboot项目部署到Docker 实现局域网内多台电脑可以访问 关于Docker ...

  9. 安装部署(七) HBase集群安装部署与测试

    HBase集群安装部署与测试 Hadoop 2.7.2  Spark 2.0.0 Kafka 0.10.0.0 HBase 1.2.2 Zookeeper 3.4.8 参考: http://www.t ...

最新文章

  1. shell基础知识总结
  2. u检验、t检验、F检验、X2检验 (转)
  3. 计算机室内设计cad实践报告,cad实习报告3000字
  4. wpf 客户端【JDAgent桌面助手】开发详解(三) 瀑布流效果实现与UI虚拟化优化大数据显示...
  5. java filter bme_节点红色,想截断BME280传感器的结果
  6. TCP/IP协议学习(四) 基于C# Socket的Web服务器---静态资源处理
  7. 单片机交通灯灯c语言程序,关于LED模拟交通灯单片机C语言程序设计
  8. google浏览器flash插件
  9. 【C语言经典100题】乒乓球队的比赛
  10. 双击idea桌面快捷方式无法打开,没有反应,但是Idea.bat可以正常打开
  11. 获取windows锁屏壁纸
  12. Java实习生常规技术面试题每日十题Java基础(八)
  13. RegNet: Designing Network Design Spaces
  14. wifi 的几种加密方式
  15. ARGOX CP-2140MPPLB18X60药柜
  16. 计算机基础知识判断题答案,计算机基础知识试题及答案判断题
  17. 天玥网络安全审计系统(互联网型)
  18. 湾区潮涌·香港向前 | 香港科大副校长汪扬:用好一国两制制度优势,香港要成数字经济接轨世界桥梁...
  19. 今天,2023年中科院《国际期刊预警名单(试行)》正式发布
  20. 线性代数-Gilbert Strang(第一部分)

热门文章

  1. 《真象还原》读书笔记——第二章 编写 MBR 主引导记录
  2. mysql8.0如何授权_MySQL8.0 创建用户及授权
  3. 使用IDEA 导出有依赖的jar包的具体方法
  4. 计算机三级微机原理,计算机三级哪个考 微机原理与应用
  5. Amesim车辆仿真--制动匹配理论
  6. 连接linux的一些工具
  7. 华为ensp的OSPF 基本配置
  8. 【强化学习入门】三.马尔可夫家族中的MP、MRP、MDP分别是什么?
  9. 电子报纸教程--部署篇
  10. Python爬虫进阶之起点中文网字体反扒保姆级教程!!!