前言:
当前看官们对“kettle命令”大概比较看重,兄弟们都需要知道一些“kettle命令”的相关内容。那么小编也在网络上收集了一些对于“kettle命令””的相关资讯,希望同学们能喜欢,姐妹们快快来学习一下吧!1.1 基本概念
在我们学习kettle之前,首先了解两个基本的概念:数据仓库和ETL.
1.1.1 什么是数据仓库?
数据仓库是很大的数据存储的集合,它主要是为了给企业出分析报告或者提供决策而创建的,它和数据库的区别主要还是概念上的,数据库是面向业务的,如果业务的数据库出现问题了,那么软件就无法使用了,而数据仓库是面向分析的,是为了企业做决策使用,比如通过分析企业的利润,来调整企业的业务发展和规划。
简单的来说,数据仓库本质上也是数据库,但是不是面向业务的,是面向分析的,是为企业做决策的,数据仓库数据来源于很多的地方,但是并不是所有的数据都是数据仓库所需要的,所以我们要对源数据进行处理,只获取对我们有用的数据,然后将它们进行筛选、整合。
1.1.2 什么是ETL?
ETL的英文全称为:Extract-Transform-Load,即:抽取-转换-存储, 一般会先将不同源数据抽取出来,然后对数据进行数据清洗,把杂乱的数、无效的数据清洗成规范的、可用的数据,最后存储到数据仓库的过程,将不同的数据整合到一起。而Kettle就是用来一款用于ETL的开源分析工具。
1.2 什么是Kettle?
Kettle(现已经更名为PDI)是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定,Kettle本意为水壶,它们的开发人员希望各种数据放到水壶里,然后再从壶嘴统一的流出。
1.3 Kettle的安装
由于Kettle是基于java的,所以需要先安装JDK,JDK配置安装完成后,去Kettle的官网去下载kettle的包,下载后,无需安装,解压即可使用,解压后会有一个data-integration文件夹,进入文件夹,如果是Windows系统直接双击spoon.bat,即可启动,如果是MAC或者Linux系统,在命令行中输入sh ./spoon.sh即可启动,如下图:
1.4 Kettle简单使用
我们先简单的感受一下,Kettle的使用,现在我们有一个文本文件的数据,想要把它抽取到EXCEL文件中,文本文件的数据如下:
id,name,age,gender1,小明,10,男2,小红,14,女3,小刚,15,男4,小王,16,男5,小张,18,男6,小陈,19,男7,小李,33,男8,小陈,48,男9,小杨,58,男10,小虎,58,男11,小魏,66,男12,张飞,38,男13,关羽,43,男14,刘备,58,男
下面我们看下具体的操作,首先创建一个转换作业
然后找到输入下的文本文件输入,将其拖拽到窗口中,如下图:
然后我们再找到输出下的EXCEL文件输出,将其也拖拽到窗口中,如下图:
然后按住键盘上的Shift键,将鼠标从文本文件输入控件拖向EXCEL文件建立连接,当这条线显示颜色的时候,表示这个连接是生效的,点击一下就变成灰色了,此时连接是不生效的。
建立完连接后,就需要对两个控件进行配置了,首先配置文本文件输入控件,我们双击一下这个控件,进入配置页面,我们首先选择一下文本文件的路径,选择完毕后再点击增加,如下图:
然后我们点击内容的Tab页,进行配置:
然后我们在点击字段Tab页,进行配置
配置完成后,我们可以点击预览记录,查看数据的记录,如下图:
最后点击确定即配置完成。
下面我们再来配置EXCEL控件,同样是双击控件,进入配置页面,我们首先配置要EXCEL文件的路径,如下图:
然后我们在点击字段Tab页,进行字段的获取,如下图:
最后点击确定即配置完成。
然后我们将当前的配置方案保存一下,然后点击一下启动,如下图:
然后我们就在相应的路径看到我们转换后的数据了
1.5 将EXCEL数据导入MySQL1.5.1 准备工作准备一个excel文件,这里我们以上面生成的EXCEL文件为例一个可用的MySQL数据库mysql-connector-java-8.0.27.jar、mysql-connector-java-5.1.41-bin.jar驱动包放到Kettle的lib目录下,并重启kettle。1.5.2 操作过程
和上面的操作一样,先确定输入和输出,我们先在输入中拖拽一个EXCEL输入控件,如下图:
然后双击控件,配置EXCEL输入控件
然后点击工作表Tab页,选择sheet页
最后点击字段Tab页,获取字段,点击确定,即配置完成。
下面我们再从输出里面拖拽一个表输出控件,并双击进行配置,首先添加一个数据库连接,选择数据库类型,并输入连接相关信息,并测试一下连接,没问题的话,点击确定就可以了,如下图:
选择刚才添加的连接,输入表名,点击确定即可。
然后按住键盘上的Shift键,将鼠标从EXCEL输入控件拖向表输出建立连接,如下图:
最后点击一下启动执行即可吗,如下图:
我们再看一下数据库数据,结果如下:
1.6 数据同步更新组件
如果我们现在有两张表,表A和表B,我们现在要求,当表A的数据新数据插入或者表数据有更新的时候,能够同步到表B,这个时候我们就需要使用插入/更新组件,示例操作如下:我们首先从输入中拖入表输入组件,从输入中拖入插入/更新组件,并将两者建立连接,如下图:
下面我们先配置输入控件信息,双击该组件,配置完成后,点击确定,如下图:
下面我们再配置一下插入/更新组件,双击该组件,配置完成后,点击确定,如下图:
配置完成后,点击执行即可,这里我们简单地总结一下,这个组件就是执行的insert 和 delete 操作,当数据新增或者有更新的时候,他就会同步数据。
标签: #kettle命令