大数据技术暑期实习二___Kettle技术认识及简单案例操作

知识结构图:

 

 

kettle是一款开源的ETL(extract抽取、transform转换、load加载)工具,纯java编写,可以在Windows、Linux、Unix上运行,绿色无需安装,图形化界面拖拽操作,数据抽取高效稳定。

在公司中对公司数据库直接进行改动是大忌,所以需要将数据拷贝一份,ETL工具由此诞生,由于kettle开源,相比高额的付费软件,很划算。

Kettle以xml形式或资源库方式存储,有两种设计:Transformation(转换)——完成针对数据的基础转换;Job(作业)——完成整个工作流的控制。其中作业是步骤流,转换是数据流。

Kettle有三个主要组件:

Spoon(勺子):图形化界面,windows选择.bat,linux选择.sh。

Kitchen(厨房):利用kitchen命令可以用命令行调用Job。

Pan(锅):利用pan可以用命令行的形式调用Trans。

另外,Carter(菜单)是一个轻量级的web容器,用于建立专用、远程的ETL server。

Windows下kettle的安装使用

一、安装

1.概述

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

2.安装jdk

不再赘述(kettle要在java环境中运行)

3.下载解压kettle

kettle为绿色软件,可下载后直接解压到本地任意路径,即可用。下载地址

 

4.数据库安装

不再赘述,以mysql为例(强烈建议大家数据库版本不要追新,由于版本问题在其他软件的协同工作时会出很多问题,目前稳定版本mysql5.6  5.7就可以了。)

 

5.启动

找到spoon.bat文件,打开,第一次开启时间略长

(文件中有.sh和.bat文件,Linux下使用.sh文件,windows下用.bat文件)

二、案例

案例一

把stu1的数据按id同步到stu2,stu2有相同id则更新数据

在mysql中创建两张表

1.打开 作业

 

 

2.在mysql中创建两张表并插入一些数据

mysql>
create database kettle;

use kettle;

create table stu1 (id int ,name varchar(20),age int);

create table stu2 (id int ,name varchar(20));

insert  into stu1  values (1001,'bajie',20),(1002,'shaseng',18),(1003,'sanzang',23);

insert into stu2 values (1001,'wukong');

 

   

 

3.kettle操作

   

     

 

Kettle连接数据库时,总是连接失败,原因是mysql版本太高


解决博客:https://blog.csdn.net/weixin_40818105/article/details/86248915
 

 

 

 连接成功过后,输入sql语句,点击预览查看。

打开插入/更新,在目标表预览处选择stu2,然后获取字段

 

由于stu1stu2通过id关联,故删除另2个字段,然后点击编辑映射,编辑2个表之间的映射

 

 

更新处,修改id的属性为n,确定

保存运行,到数据库中查看结果。

 

posted @ 2019-09-04 15:42  瓜大wjs  阅读(559)  评论(0编辑  收藏  举报