大数据ETL开发之图解Kettle工具(入门到精通)

本文详细介绍了Kettle这款开源ETL工具,包括其下载、安装、核心组件、数据流控制、转换和作业的使用。Kettle支持多种数据输入输出控件,如CSV、Excel、XML、JSON等,提供了可视化编程方式,适用于数据抽取、转换和装载。文章通过实例演示了如何使用Kettle进行数据处理和转换,包括数据清洗、转换和加载到不同数据源的过程。
摘要由CSDN通过智能技术生成

第0章 ETL简介

===========================================================================

ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。

市面上常用的ETL工具有很多,比如Sqoop,DataX, Kettle, Talend 等,作为一个大数据工程师,我们最好要掌握其中的两到三种,这里我们要学习的ETL工具是Kettle!

第1章 Kettle简介

==============================================================================

1.1 Kettle是什么


Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、 Unix.上运行,绿色无需安装,数据抽取高效稳定。

Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformationjob,transformation 完成针对数据的基础转换,job则完成整个工作流的控制。

Kettle(现在已经更名为PDI, Pentaho Data Integration Pentaho数据集成)

1.2 Kettle的两种设计


简述

  • Transformation (转换) :完成针对数据的基础转换。

  • Job (作业) :完成整个工作流的控制。

区别

  • (1) 作业是步骤流,转换是数据流。这是作业和转换最大的区别。

  • (2)作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

在这里插入图片描述

1.3 Kettle的核心组件


  • Spoon.bat / spoon.sh(重点):是一个图形化界面,可以让我们用图形化的方式开发转换和作业(Windows选择Spoon.bat;Linux选择Spoon.sh)

  • Pan.bat / pan.sh:利用Pan可以用命令行的形式执行由Spoon编辑的转换和作业

  • Kitchen.bat / kitchen.sh:利用Kitchen可以使用命令调用由Spoon编辑好的Job

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

在这里插入图片描述

1.4 Kettle的特点


在这里插入图片描述

第2章 Kettle安装部署

================================================================================

2.1 Kettle 下载


2.1.1 下载地址

官网:官网地址

下载地址:各版本下载链接

百度网盘:百度网盘地址 ,提取码:beeo

2.1.2 Kettle目录说明

在这里插入图片描述

2.1.2 Kettle 文件说明

在这里插入图片描述

2.2 Kettle 安装部署


2.2.1 概述

在实际企业开发中,都是在本地Windows环境下进行 kettle 的 job 和 Transformation 开发的,可以在本地运行,也可以连接远程机器运行

2.2.2 安装

1)安装 jdk,版本建议1.8及以上

2)下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可

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

2.3 Kettle 界面介绍


2.3.1 主界面

在这里插入图片描述

2.3.2 转换

在这里插入图片描述

2.3.3 作业

在这里插入图片描述

2.4 Kettle转换初次体验


体验案例:将 csv 文件用 Kettle 转换成 excel 文件

在这里插入图片描述

1)在 Kettle 中新建一个转换,然后选择转换下面的 “csv文件输入” 和 “excel文件输出” 拖至工作区

在这里插入图片描述

2)双击CSV文件输入文件控件,在弹出的设置框里找到对应的csv文件(test.csv).然后点击下面的获取字段按钮,将我需要的字段加载到kettle中

在这里插入图片描述

3)按住键盘 shift 键,并且点击鼠标左键将两个控件链接起来,链接时选择 “主输出步骤”

在这里插入图片描述

4)双击Excel输出控件,在弹出的设置框里设置文件输出路径和文件名称,然后点击上的字段框,依次点击下面的获取字段和最小宽度,获取到输出字段

在这里插入图片描述

5)点击运行,启动,查看转换好的文件

在这里插入图片描述

在这里插入图片描述

转换成功:

在这里插入图片描述

2.5 Kettle 核心概念


2.5.1 可视化编程

Kettle可以被归类为可视化编程语言,因为Kettle可以使用图形化的方式定义复杂的ETL程序和工作流

可视化编程一直是Kettle里的核心概念,它可以让你快速构建复杂的ETL作业减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。

Kettle里的代码就是转换作业

2.5.2 转换

转换(transaformation)负责数据的输入、转换、校验和输出等工作。Kettle 中使用转换完成数据 ETL 全部工作。转换由多个步骤(Step)组成,如文本文件输入,过滤输出行,执行SQL脚本等。各个步骤使用跳(Hop)(连接箭头) 来链接。跳定义了一个数据流通道,即数据由一个步骤流(跳)向下一个步骤。在 Kettle中数据的最小单位是数据行(row),数据流中流动其实是缓存的行集(RowSet)

在这里插入图片描述

2.5.3 步骤

步骤(控件)是转换里的基本的组成部分,快速入「]的案例中就存在两个步骤,“CSV文件输入”“Excel输出”

一个步骤有如下几个关键特性:

  • 1.步骤需要有一个名字,这个名字在同一个转换范围唯一

  • 2.每个步骤都会数据行(唯一例外是 “生成记录”步骤,该步骤只写数据

  • 3.步骤将数据写到与之相连的一个或多个输出跳(hop),再传送到跳的另一端的步骤

  • 4.大多数的步骤都可以有多个输出跳。–个步骤的数据发送可以被设置为分发复制

分发是目标步骤轮流接收记录,复制是所有的记录被同时发送到所有的目标步骤

在这里插入图片描述

2.5.4 跳(Hop)

就是步骤之间带箭头的连线,跳定义了步骤之间的数据通路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值