kettle--数据迁移
来源:互联网 发布:pdf制作软件下载 编辑:程序博客网 时间:2024/05/29 13:21
引:
ods有个工程表来自于上游系统,数据量不大 十几万,下游系统需要此数据,并且需要每天提供截止当天的增量数据 要求每条数据给出数据变化时间及标示,即数据若是插入 有插入时间和插入标示 若是修改 有修改时间和修改标示 若是删除需逻辑删除、有删除标示且有删除时间
解决:
kettle的转换ktr里有一个图元叫做合并记录,可以把两个表输入分为源和目的根据唯一标示 进行全量比对。由此,我们得到增量的数据流,再写入到RDBMS里,即可以实现该需求。实现功能的ktr如下图:
1 输入源 合并记录
上图,最左侧是两个表输入,上面一个cpmis 是上游系统 下面一个被 merge rows挡住了,名字是odsocpmis
SELECT
ITEMID,
ITEMCODE,
ITEMPLANCODE,
ITEMNAME,
DEMANDID,
ITEMPROPERTY,
COMPANYID,
MANAGELEVELID,
SPECIALSMALLTYPEID,
PLANTYPEID,
CONSTRUCTPROPERTYID,
AREAID,
ASSISTANTTYPEID,
CONSTRUCTTYPEID,
FEEDEPARTMENTID,
..... FROM PROJECT_AH.ITEMINFO order by ITEMID
odso
SELECT
ITEMID,
ITEMCODE,
ITEMPLANCODE,
ITEMNAME,
DEMANDID,
ITEMPROPERTY,
COMPANYID,
MANAGELEVELID,
SPECIALSMALLTYPEID,
PLANTYPEID,
CONSTRUCTPROPERTYID,
AREAID,
ASSISTANTTYPEID,
CONSTRUCTTYPEID,
FEEDEPARTMENTID,
..... FROM odso.ITEMINFO order by ITEMID
2 值映射
如下图, 将输入源与目的源的每个字段数据根据唯一字段比较后 到值映射图元,使用字段名 为起的后面用到的一个变量名(可任意起),源值列为系统默认 1 代表输入源与目标源比较后删除的数据标志 2 是输入源新增 3 是输入源更新 4是不变 目标值 是自己起的名字 可以根据需要不变 或修改3 第一次过滤无效记录
如下图,条件 flagfield is not null (后面没显示完),若条件成立发送给下一步zh_check_date,若不成立发送给空操作。4 新增数据判断add2
如下图,zh_check_date 为获取当前的系统时间变量。add2 图元打开为 画圈的图 左侧的地方 ,条件 flagfield = add_rec ,若成立及发送数据到中间画圈的add图元,若不成立则 发送数据到mod_del图元 (矩形红框) 假设为true数据到 add图元,打开 即是下图右侧 部分 填写需要插入的数据字段 再到insert图元 ,即可把输入源比目标源多的新数据更新到目标表来 并且加上时间戳。5 修改或删除 mod_rec
如下图,假设数据从add2发送而来, 打开矩形框 mod_del 条件flagfield = mod_rec 若true 则发送到 update mapping 若flase 则发送到delete mappinig ,假设是更新,则右侧 的查询关键字 是 更新的比较字段 即是一开始合并记录的比较字段 ,更新字段就是 除了比较字段之外的其他字段。这样数据就可以从 输入源更新到目标源。
6 删除数据 delete mapping
如下图,假设数据流到了 delete mapping ,则 只需要根据比较字段把 目标表的时间戳更新 和 状态更新为del_rec即可,下图zh_check_type 为flag_field的值
7 数据结果
zh_check_type 和check_date已更新为阅读全文
0 0
- kettle数据迁移
- kettle 迁移数据
- kettle--数据迁移
- 使用kettle完成数据迁移
- 使用Kettle来完成数据迁移
- 数据迁移之Kettle的使用小结
- 使用Kettle进行数据迁移(ETL)
- 开源ETL工具kettle--数据迁移
- 数据迁移ETL之kettle一
- 使用Kettle进行数据迁移(ETL)
- 数据迁移工具kettle简单上手
- 用Kettle从MySQL迁移数据到Trafodion牛刀小试
- 利用KETTLE进行数据迁移(改良版)
- Kettle实现数据库迁移
- Kettle 合并记录和Merge Join组件实现数据增量迁移(数据同步比插入更新快
- Kettle完成不同数据库的表迁移
- 用kettle 一套完整的数据库迁移
- 数据交换工具Kettle
- 那么多GAN哪个好?谷歌大脑泼来冷水:都和原版差不多 | 论文
- Building Web Services with Microsoft Azure.pdf 英文原版 免费下载
- 亚马逊全面发力AI,推机器学习托管服务、四项新工具,还有AI硬件
- 基于虚拟机的slurm集群搭建
- 【Android】强制停止RecyclerView滑动
- kettle--数据迁移
- virtualbox安装增强与设置共享目录
- MyBatis Generator 详解
- MySQL常用语句
- Vector中Insert()
- 图片的截屏
- 输入两个实数,交换后输出
- Luogu P3905 道路重建
- MySQL索引