目录
课程一 文件和数据库表的相互转化
增加常量:可以实现在流中增加一个新的字段常量
值映射:可以将流中的值映射为指定的值 有默认选项(将sex 中的男 转换为1 女转换为0)
字段选择:(转换)可以改流中字段 起别名 设置类型
获取系统信息:(输入) 举例:如对原有数据插入一个时间字段
第二课 数据库单表的全量同步
1 单表的全量同步:
目标 :将t_user 表中的数据全量同步到t_user_kettle表中
(1)选择表输入
(2)选择表输出 在表输出配置中并没有设置Fields 原因在于两张表字段完全一致
t_user 表
t_user_kettle表
字段选择:更改了了日期时间的格式
字符串选择:将原来的密码值123替换为11111
第三课 数据库点表的增量同步
目标:我们有一张日志表 根据同步时间将日志表的内容同步到新的表中
1 定义一个转换 用于获取最新的同步时间 如果没有就采用系统时间前一天的时间
2 转换中设置变量 我们的job想获取转换中的变量 可以采用设置变量的方式拿到
3. 定义作业 获取上一次同步成功时间
4 通过where>上一次同步时间获取新的数据
创建一个同步本次增量数据的转换 采用表输入
在选择插入跟新
根据id选择 id相同就跟新 id不同就插入
5. job中增加一个转换选第4步转换实现同步本次增量数据
6 job中增加一个记录本次同步时间的转换
测试
user表现在有四条记录
user-kettel表现在没有记录
运行
查看日志表
第四课 同步的错误原因记录到日志表
我们的目标是想实现kettel在插入数据过程中产生的错误日志记录到日志表的错误描述字段中
1 首先 在日志表中增加一个错误描述字段
2 在数据插入更新控件中 我们定义错误处理
控件中 定义一个错误描述列名
3 添加一个样本行控件(统计)
定义需要的错误行数(目的是为了减小内存损耗)
4 再次选中 插入/更新控件的定义错误处理命令
会把样本行自动选上
05 再插入一个字段选择 控件
目的是定义一下输出样式
字段选择中获取选择字段(注意这里有时需要把前面的变量提权取消勾选才能获取到流中的字段)
06 将上述转换中获取到的错误日志记录字段 保存到一个变量中 后续job就可以通过获取变量的方式拿到错误字段内容
07 当前转换中运行 测试
08 在job'记录日志中 获取错误描述字段 插入到日志表中
09 执行job
可以看到同步日志表中已经记录下来了
10 优化:我们在同步本次增量数据和记录本次同步时间 之间插入一个检验字段的值控件
记录本次同步时间这个转换的sql中 如果ERRDESC这个变量存在也就是有值,如果不存在 就为空