Kettle工具入门

article/2025/10/13 13:37:05

Kettle工具入门

 

  • Kettle工具入门
    • Kettle是什么?
    • 为什么要用Kettle?
    • 怎么用Kettle?
      • 下载运行
      • 简单应用
        • 表到表转换
        • json到表的操作
    • 参考

 

Kettle是什么?

Kettle是水壶
“多喝热水”是我们对女朋友美好的祝福。因为未经处理的生水(原始数据),含有各种杂质(脏数据),无法直接饮用(入库),为此,我们需要一个水壶(kettle)烧开水。倒入(extract)水壶的生水(原始数据),可能来自很多地方,如趵突泉(数据库)、黑虎泉(excel)、小清河(json)等,这些水只有烧开(transform)后,才能入口(Load)饮用。

当Kettle不再是水壶时,它是一个常用的ETL(Extract-Transform-Load)工具,负责接收抽取的数据,进行转换后,加载到目的端。Kettle应用于以下场景:

  • 不同应用或数据库之间整合数据;
  • 将数据库中的文件导出为文本文件;
  • 大批量数据装载进数据库;
  • 数据清洗;
  • 集成应用相关项目使用。

 

为什么要用Kettle?

Kettle用纯Java编写,跨平台,绿色无需安装,数据抽取高效。Kettle具有下面几个特点,总而言之,牛逼就是了。

  • 使用简单,通过图形界面实现功能,无需编码,面向元数据来设计;
  • 支持多种输入和输出格式,包括文本文件、数据表、以及各种数据库引擎;
  • 转换功能强大。

 

怎么用Kettle?

Kettle有两种脚本文件,Transformation用来完成针对数据的基础转换,Job用来控制整个工作流。

  • Spoon——转换/工作(Transform/Job)设计工具 (GUI)
  • Kitchen——工作(Job)执行器 (命令行)
  • Span——转换(Trasform)执行器 (命令行)

 

下载运行

Kettle是基于Java开发的,因此,在使用之前,你需要配置Java相关的环境。
1、到官网下载需要的版本;
2、解压到目标文件夹;
3、根据不同的环境,运行Spoon.bat/Spoon.sh/Spoon.command,看到熟悉的界面了么,如果你不嫌烦的话,可以把快捷方式添加到桌面上。

是不是很简单?
Spoon工作界面

 

简单应用

kettle功能特别强大,不是一时半会儿能学会使用的,下面用几个简单例子,讲述简单应用。

 

表到表转换

背景:某项目数据由公共信息平台以表推送的形式提供,这部分数据和系统设计比较:字段不对应、无主键、人为录入存在特殊字符,无数据字典。针对这种特点,选择ETL工具Kettle作为数据转换工具。应用场景:不同应用或数据库之间整合数据
1、建立转换,文件-新建转换,选择DB连接,根据提示建立新的数据库连接。

如果没有相应的数据库驱动,可能会报错,这时候需要下载对应的驱动,放在data/intergration/lib文件夹中,然后重启Spoon;
2、选择核心对象-输入,将表输入选项拖拽到右侧工作窗口;

双击表输入窗口,对输入内容进行编辑,选择前面建立的数据库连接,并通过拼写sql或者获取sql的方式,确定输入内容;

3、按照2中同样的方式,选择输出,将表输出拖拽到右侧工作窗口;
长按shift,点击表输入,拖拽箭头到表输出,建立两张表之间的联系;

4、双击表输出,对内容进行编辑;
5、成功编辑后,点击执行按钮,一次完整的转换就完成啦

入库流程比较简单,实际工作显然不会是这样的,我们为了偷懒,省去了数据转换(Transform)的工作。这部分工作用到的应用较多,多集中在转换文件夹下,在此不做赘述。

 

json到表的操作

背景:在Github上获取了千万级别(其实五百多万)条企业工商数据(详情点击这里),格式有.json/.csv/.xls,字段包括:

 

{"name":"企业名称","code":"统一社会信用代码","registrationDay":"注册日期","character":"企业类型","legalRepresentative":"法人代表","capital":"注册资金","businessScope":"经营范围","province":"所在省份","city":"地区","address":"注册地址"
}

为了方便处理这些数据,需要将数据入库。应用场景:大批量数据装载进数据库
1、新建一个转换的Job,建立DB连接,不再赘述;

2、根据数据格式,在目标库中建表;

 

DROP TABLE IF EXISTS "public"."ent_registration";
CREATE TABLE "public"."ent_registration" ("name" varchar(255) COLLATE "pg_catalog"."default","code" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,"registrationday" varchar(255) COLLATE "pg_catalog"."default","capital" varchar(255) COLLATE "pg_catalog"."default","legalrepresentative" varchar(255) COLLATE "pg_catalog"."default","character" varchar(255) COLLATE "pg_catalog"."default","businessscope" varchar(10000) COLLATE "pg_catalog"."default","province" varchar(255) COLLATE "pg_catalog"."default","city" varchar(255) COLLATE "pg_catalog"."default","address" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "public"."ent_registration"."name" IS '名称';
COMMENT ON COLUMN "public"."ent_registration"."code" IS '统一社会信用代码';
COMMENT ON COLUMN "public"."ent_registration"."registrationday" IS '注册时间';
COMMENT ON COLUMN "public"."ent_registration"."capital" IS '注册资金';
COMMENT ON COLUMN "public"."ent_registration"."legalrepresentative" IS '法人代表';
COMMENT ON COLUMN "public"."ent_registration"."character" IS '企业类型';
COMMENT ON COLUMN "public"."ent_registration"."businessscope" IS '经营范围';
COMMENT ON COLUMN "public"."ent_registration"."province" IS '省份';
COMMENT ON COLUMN "public"."ent_registration"."city" IS '地区';
COMMENT ON COLUMN "public"."ent_registration"."address" IS '注册地址';

3、核心对象里面,建一个json input和表输出,按住shift拖出两者的关联关系;

4、编辑【jsoninput】,在【文件或路径】处,写入json文件地址,点击【增加】添加到【选中的文件】,在【选中的文件】中,【通配符】填写.*.*\.json,【包含子目录】选是,此步骤的目的是,指定数据来源为文件夹下所有json数据;

5、在字段选项卡中,点击getfields,按照图片所示,选择字段;

6、编辑【表输出】,输入【目标表】,选择【指定数据库字段】,获取所有表映射;

7、点击运行,数据量大,可能需要多等一会儿。

 

参考

Kettle入门教程
Kettle中文网

 


http://chatgpt.dhexx.cn/article/1ek2jPEX.shtml

相关文章

kettle安装及使用

文章目录 1、kettle简述1.1、kettle是什么 2、kettle安装配置2.1、先决条件2.1.1、安装jdk8 2.2、kettle下载2.3、打开kettle 3、kettle基本概念3.1、转换和作业3.2、运行工具3.2.1、SPOON3.2.2、KITCHEN和PAN3.2.3、Carte kettle基本使用及常见问题 1、kettle简述 1.1、kettl…

Kettle的下载安装教程和使用简介(内含第一个kettle转换案例)

本文首先介绍Kettle工具的安装及基本概念,然后通过一个案例实操介绍Kettle工具的使用。 本文重要的内容如下: Kettle的安装 1.Java的安装 登录Java的官网后,进入到下载页面:http://www.oracle.com/technetwork/java/javase/downl…

kettle Hello World教程

kettle Hello World教程 1、HelloWorld 示例 通过这个例子,介绍kettle的一些基础知识及应用: n 使用Spoon工具 n 转换的创建 n 步骤及连线 n 预定义变量 n 在Spoon中预览和执行 n 使用pan工具在终端窗口执行转换 概述 我们要实现的目标是…

kettle入门

目录 前言 一、kettle是什么 二、kettle 安装与基本使用 2.1 kettle 安装 2.2 kettle的基础使用 2.21 做一个简单的转换样例 2.2.2 小技巧 三、转换常用组件使用 3.1 输入模块 3.1.1 生成记录 3.1.2 表输入 3.2 输出模块 3.2.1表输出 3.3.2 插入/更新 3.3.3 更新 …

最新版kettle安装教程!!!

终于又想起来要把ketlle装好了,原先我是在虚拟机用的kettle,可是切换还是太麻烦了,今天想说装一个mac版的。进到官网发现它已经换地址了。。。 好巧不巧,刚好是6月5号换的。sad。 1、下载kettle 其实kettle的下载文件是mac和wi…

Kettle使用教程(一)

Kettle自己有三个主要组件:Spoon,Kitchen,Pan。其中Spoon是一个图形化的界面,用于windows的时候,先设置环境变量:pentaho_java_home,例如:C:\Program Files\Java\jdk1.7.0_25&…

Kettle — 安装和部署

前提 Kettle是纯Java编写的ETL开源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常运行。所以开运行Kettle前先检查Java环境是否正确配置,Java版本是否是8或者以上。 Kettle安装 1)创建Kettle的目录,并将Kettle的zip包解…

kettle实战教程-纯实战开发

kettle实战教程-纯实战开发 欢迎关注笔者的公众号: java大师, 每日推送java、kettle运维等领域干货文章,关注即免费无套路附送 100G 海量学习、面试资源哟!!个人网站: http://www.javaman.cn/kettle/kettle-actual Kettle简介:Ket…

Kettle安装及配置

安装环境说明 jdk 采用 jdk-8u102-windows-x64 kettle采用kettle 8.2 文末,博主会将kettle下载地址附上,还包含其他版本(作为本专栏开博小福利)。kettle9.0版本以下,本教程都适用,kettle9.0及更新的其他版本…

Kettle的安装和使用

Kettle简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。 Kettle是“Kettle E.T.T.L. Envirnonment“只取首字母的缩写,这意味着它被设计用来帮助你实现你的 ETTL 需要&#…

Kettle 使用详解

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

Kettle基础操作

目录 Kettle基础操作 1 启动Kettle 2 创建本地资源库 3 基础操作 3.1 新建转换 3.2 新建作业 3.3 节点连接 4 导入/导出资源库 5 创建数据库连链接 Kettle基础操作 1 启动Kettle 前置环境:JDK 1.7以上、IE浏览器升级至IE10以上(Kettle7.0以下…

kettle(一)kettle介绍

kettle介绍及组成 一、kettle 是什么 kettle 是一个ETL工具,ETL(Extract-Transform-Load,数据抽取、转换、装载); kettle 是java编写,绿色无需安装,抽取高效稳定; kettle 主要用来…

Kettle下载与安装教程【保姆版】

Kettle简介 Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。它由Java开发,支持…

kettle基础教程-kettle9教程

kettle是啥? 一款免费开源的、功能强大的ETL工具,纯 java 开发。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。 一.安装部署 1.JDK1.8安装及环境变量的配置 https://blog.csdn.net/weixin_39549656/artic…

kettle 简介及入门

介绍 kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。 kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855&#xff…

kettle 使用教程(入门)

文章目录 前言一、下载、安装二、启动软件三、转换的使用教程四、作业的使用教程总结 前言 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶&…

kettle 教程(一):简介及入门

介绍 kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。 kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855&#xff0…

kettle入门教程

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工…

kettle使用教程(超详细)

今天详细详细说一下kettle 的安装,安装的版本: jdk:jdk-8u152-windows--x64 kettle:KETTLE-5.4 一、环境部署 1、安装JDK,按默认值安装即可 2、设置环境变量,如图下图 具体步骤: 1.右击我的电脑-属性-高级系统设置-环境变量-系统变量-新建…