目录
一、安装Kelttle
1-1 安装java环境
1-2 Kettle安装
二、Kettle的基本使用
2-1 将txt文本数据转为excel数据
创建txt文件
创建kettle的转换任务
定义转换流程
配置输入文件
连接读取和写入任务
配置excel输出
保存转换任务
执行转换任务
2-2 将txt文件输出到Mysql数据库
创建mysql数据库保存数据
创建新的转换任务
定义转化任务
配置文本输出
配置表输出
保存并执行任务
中文问题解决
2-3 Excel文件输出Mysql
mysql连接共享
创建新的转换任务
编辑excel的输入
编辑表输出
保存执行
三、Kettle的Mysql操作
3-1 MySQL表间复制
第一步:新建转换
第二步:构建流程
第三步:配置组件
第四步:保存执行
3-2 MySQL插入更新组件
第一步:新建转换
第二步:构建流图
第三步:配置组件
第四步:保存运行
第五步:测试更新
3-3 MySQL转换excel
第一步:新建转换
第二步:构建流图
第三步:配置组件
第四步:保存运行
3-4 SQL脚本固定条件
第一步:新建转换
第二部:配置组件
第三步:保存运行
四、Job
4-1 基本概念
4-2 Job作业
第一步:新建作业
第二步:构建流图
第三步:配置组件
第四步:保存运行
第五步:退出
一、安装Kelttle
1-1 安装java环境
通过百度网盘分享的文件:JDK1.8安装包(内含linux、mac、win版本)
链接:https://pan.baidu.com/s/1Dv2AZMehD61Tp91E3JBvaQ?pwd=ruvz
提取码:ruvz
kettle使用java开发,所有运行kettle之前需要先安装java环境
kettle可以在windos下使用,下面展示windos下安装java
(安装包自动帮我们配置环境变量哈,不用担心)
1-2 Kettle安装
通过百度网盘分享的文件:pdi-ce-9.0.0.0-423.zip
链接:https://pan.baidu.com/s/1uYNqUmoAgzQnYLxSd8ueDQ?pwd=h89r
提取码:h89r
kettle是免安装,可以直接解压压缩包使用
二、Kettle的基本使用
2-1 将txt文本数据转为excel数据
创建txt文件
- txt文件数据
- stu.txt
id,name,age,gender,province,city,region,phone,birthday,hobby,register_date
392456197008193000,张三,20,0,北京市,昌平区,回龙观,18589407692,1970-8-19,美食;篮球;足球,2018-8-6 9:44
267456198006210000,李四,25,1,河南省,郑州市,郑东新区,18681109672,1980-6-21,音乐;阅读;旅游,2017-4-7 9:14
892456199007203000,王五,24,1,湖北省,武汉市,汉阳区,18798009102,1990-7-20,写代码;读代码;算法,2016-6-8 7:34
492456198712198000,赵六,26,2,陕西省,西安市,莲湖区,18189189195,1987-12-19,购物;旅游,2016-1-9 19:15
392456197008193000,张三,20,0,北京市,昌平区,回龙观,18589407692,1970-8-19,美食;篮球;足球,2018-8-6 9:44
392456197008193000,张三,20,0,北京市,昌平区,回龙观,18589407692,1970-8-19,美食;篮球;足球,2018-8-6 9:44
创建kettle的转换任务
定义转换流程
拖拽输入端 txt文件数据
拖拽输出端 excel文件输出
配置输入文件
双文本输入,然后配置
文件内容配置
文件的字段配置
预览读取文件数据
保存配置
连接读取和写入任务
配置excel输出
指定excel的输出文件夹位置
指定excel的输出字段
保存转换任务
执行转换任务
2-2 将txt文件输出到Mysql数据库
创建mysql数据库保存数据
注意:要加上 charset utf8
,不然会出现意想不到的错误!
create database kettle charset utf8;
创建新的转换任务
ctrl+n
定义转化任务
配置文本输出
配置表输出
配置mysql连接
注意:如果连接失败是因为你没有在Kettle的bin目录下放一个mysql的连接包,连接包可以在[Maven中央仓库](Maven Repository: com.mysql " mysql-connector-j (mvnrepository.com))里下载,这里放一个我用的比较稳定的版本:mysql-connector-j-8.2.0.jar
通过百度网盘分享的文件:mysql-connector-j-8.2.0.jar
链接:https://pan.baidu.com/s/1xnDAXVQrK6mzJ48uetGJzg?pwd=kphn
提取码:kphn
下面是把它放在这个地址下,再说一下,只有你把这个连接包放在lib目录下之后,才能连接mysql,不然会报错
创建保存结果的表
保存并执行任务
检查执行结果
中文问题解决
mysql连接配置中没有指定utf8的中文字符集
修改mysql的配置连接
characterEncoding=utf8
重新进行数据写入
2-3 Excel文件输出Mysql
mysql连接共享
创建新的转换任务
ctrl+n
编辑excel的输入
编辑表输出
保存执行
通过GripData中查看mysql的表中是否接收到了数据
三、Kettle的Mysql操作
3-1 MySQL表间复制
第一步:新建转换
第二步:构建流程
第三步:配置组件
- 先配置输入组件
- 再配置输出组件
第四步:保存执行
ctrl+s:先保存,再按照下图运行
3-2 MySQL插入更新组件
第一步:新建转换
第二步:构建流图
第三步:配置组件
- 先配置输入组件
- 再配置输出组件
第四步:保存运行
ctrl+s:先保存,再按下图运行
第五步:测试更新
1.在原表中修改数据
2.重新运行kettle
3.查看复制表中数据效果: 没有追加插入而是自动更新了
自行操作,不演示了,节约时间(其实是太懒了😂)
3-3 MySQL转换excel
第一步:新建转换
第二步:构建流图
注意:
excel输出表可以自定义改名,最好见名知意
- excel输出_女 excel输出_男
switch/case组件和excel输出表中间连接选择
- create a new target case for this step
- 先添加Switch/case判断
- 然后建立连接选择
create a new target case for this step
第三步:配置组件
- 配置输入组件
- 配置switch/case组件
- 配置输出组件
- 下图为男生配置,女生和“未知”同理
第四步:保存运行
ctrl+s:先保存,再运行
3-4 SQL脚本固定条件
第一步:新建转换
第二部:配置组件
- 拖拽SQL脚本至工作区
- 配置SQL脚本
- 双击工作区内的空白区域,调整转换属性
第三步:保存运行
四、Job
job(作业)是用于组织和调度一系列转换(transformation)以及其他作业的工作流。
4-1 基本概念
- 定义
- Job 是一个由多个步骤组成的工作流,每个步骤可以是一个转换、SQL 脚本执行、发送邮件、文件操作等。
- 它的主要目的是协调和控制数据集成过程中的各个任务的执行顺序和依赖关系。
- 组成部分
- Job 由作业项(job entry)和作业跳(job hop)组成。
- 作业项代表具体的任务,而作业跳定义了作业项之间的执行顺序和条件。
作业和转换步骤唯一不同就是第一步变成了新建作业
4-2 Job作业
第一步:新建作业
第二步:构建流图
第三步:配置组件
- 配置转换组件
- 配置start组件
注意: 如果设置完后找不到确定按钮,需要使用鼠标手动向下拉
第四步:保存运行
ctrl+s:先保存,在运行