Kettle使用1

1.简介

ETL

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

kettle

Kettle 是 PDI 以前的名称,PDI 的全称是Pentaho Data Integeration,Kettle 本意是水壶的意思,表达了数据流的含义。Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。作为Pentaho的一个重要组成部分,现在在国内项目应用上逐渐增多。

kettle目录意思

2.csv文件输入

输入:就是用来抽取数据或生成数据。是ETL操作的E

csv文件是一种带有固定格式的文本文件

练习:把csv文件的数据复制到excel文件

3.文本文件输入

提取日志信息的数据是开发常见的操作,日志信息基本都是文本类型,如果要处理文本信息,就采用文本输入

练习:把文本文件的数据复制到excel文件

1.准备文本文件

2.添加转换

查看excel转换的文本文件

4.Excel文件输入

微软的Excel目前有两种后缀名的文件:xls和xlsx

xls:2007年之前

xlsx:2007年之后

练习:把Excel文件的数据复制到Excel文件

5.多文件合并

数据往往也是以多个文件的形式出现,有的数据还会分散在多个子文件夹,所以合并数据

练习:读取input目录下以04多文件合并开头的所有Excel数据合并到一个Excel

6.XML /XPath /Get data from XML

练习:从xml文件中提取testDescription、rowID、v1、v2数据保存到excel中

7.生成记录

练习:往excel文件中插入1000条记录:id为1,name为cdan,age为18

8.表输入

练习:从mysql数据库的mysql库的user表获取所有数据插入到Excel文件

前提:先用Navicat连接数据库

9.Excel输出

练习:从mysql数据库的mysql库的user表读取数据插入到excel的.xls和.xlsx的文件中

10.文本文件输出

练习:从mysql数据库的mysql库的user表读取数据插入到.txt和.csv的

11.sql文件输出

SQL文件输出可以导出数据库表的结构和数据

练习:获取mysql数据库的user表的结构和数据的SQL文件

12.表输出

表输出就是把数据写入到指定的表

练习:从excel中读取id,name,age字段的数据,并写入到mysql数据库的04table-output中

13.更新

练习从excel读取数据,并把数据更新到test数据库的04table-output中

1.新建转换。excel输入(输入)---->更新(输出)
2.增加需要更新的excel输入

3.更新指定库下的表

确定后执行,表已更新

14.插入更新

插入更新就是把数据库已经存在的记录与数据流里面的记录进行比对,如果不同就进行更新。如果记录不存在,则会插入数据。

练习:从excel中读取id,name,age字段的数据,并插入更新到mysql/test数据库的table_output表中

15.自定义常量数据/删除

自定义常量数据就是生成key-value形式的常量数据

删除就是删除数据库表中指定条件的数据

练习:从mysql/test数据库table_output表中删除指定id为1的数据

16.转换 /Concat fields

转换是转换里面的第四个分类

转换属于ETL的T,T就是清洗、转换

ETL三个部分中,T花费时间最长

Concat fields就是多个字段连接起来形成一个新的字段

练习:从excel中获取FirstName和LastName,并把2者连接起来,输出到excel

posted @ 2022-01-25 14:40  小绵  阅读(172)  评论(0编辑  收藏  举报