前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ETL(十一):增量抽取(更新策略转换组件的使用)

ETL(十一):增量抽取(更新策略转换组件的使用)

作者头像
数据分析与统计学之美
发布2021-11-25 09:50:36
7170
发布2021-11-25 09:50:36
举报
文章被收录于专栏:Python+数据分析+可视化
1、需要使用的数据源都在如下oracle_oltp_date.sql文件中,下面演示如何导入数据;
在这里插入图片描述
在这里插入图片描述
2、本文章使用的表是客户基本信息表ods_cust_info表,总共有3000条数据,截取部分数据展示如下;
在这里插入图片描述
在这里插入图片描述
3、ETL开发流程如下
1)定义源表
在这里插入图片描述
在这里插入图片描述
2)定义目标表

① 利用源表定义目标表;

在这里插入图片描述
在这里插入图片描述

② 修改目标表的表名;

在这里插入图片描述
在这里插入图片描述

③ 修改目标表的列字段;

在这里插入图片描述
在这里插入图片描述

④ 关键:生成并执行sql,才会在目标数据库中真正生成这张目标表;

在这里插入图片描述
在这里插入图片描述

⑤ 去目标数据库edw中查看生成的目标表;

在这里插入图片描述
在这里插入图片描述
3)定义映射

① 创建一个映射;

在这里插入图片描述
在这里插入图片描述

② 将源表和目标表都拖拉到右侧灰色区域;

在这里插入图片描述
在这里插入图片描述

③ 插入一个“查找转换”组件;

在这里插入图片描述
在这里插入图片描述

对上述图的一个说明:

在这里插入图片描述
在这里插入图片描述

④ 完成上述操作后,就会出现如下界面;

在这里插入图片描述
在这里插入图片描述

⑤ 将源表中的cust_id字段,移动到“查找转换”组件中;

在这里插入图片描述
在这里插入图片描述

⑥ 双击“查找转换”组件,进行查找条件的设置;

在这里插入图片描述
在这里插入图片描述

对第⑤步和第⑥步操作进行一个详细说明:

在这里插入图片描述
在这里插入图片描述

⑦ 在“查找转换”组件中,我们查找的是“目标表”,因此还要设置目标表的来源;

在这里插入图片描述
在这里插入图片描述

⑧ 添加“更新策略转换”组件,做增量抽取;

在这里插入图片描述
在这里插入图片描述

⑨ 将源表中的字段(目标表需要什么字段就移动什么字段)都移动到“更新策略转换”组件中,同时将“查找转换”组件中目标表中的cust_id字段移动到“更新策略转换”组件中;

在这里插入图片描述
在这里插入图片描述

双击“更新策略转换”组件,设置【更新策略表达式】;

在这里插入图片描述
在这里插入图片描述

利用上面两张图说明“更新策略转换”组件的作用:

在这里插入图片描述
在这里插入图片描述

⑩ 在“更新策略转换”组件和目标表之间,添加一个“表达式转换”组件,因为目标表中有ETL_DATE字段,“更新策略转换”组件中没有该字段;

在这里插入图片描述
在这里插入图片描述

⑪ 双击“表达式转换”组件,新增一个ETL_DATE字段;

在这里插入图片描述
在这里插入图片描述

⑫ 将“表达式转换”组件中的字段,传递给目标表;

在这里插入图片描述
在这里插入图片描述

⑬ 使用CTRL + S保存一下创建的映射;

在这里插入图片描述
在这里插入图片描述
4)创建任务

① 在创建任务之前,定义一个连接关系,为源表和目标表指明来源和去向。有了连接关系,你就知道源表来自于哪个数据库,目标表最终去往哪个数据库;

在这里插入图片描述
在这里插入图片描述

② 当出现如下界面后,完成1,2,3的操作;

在这里插入图片描述
在这里插入图片描述

③ 当出现如下界面后,继续完成1,2,3,4,5的操作;

在这里插入图片描述
在这里插入图片描述

④ 创建一个任务;

在这里插入图片描述
在这里插入图片描述

⑤ 选择该任务要执行的映射;

在这里插入图片描述
在这里插入图片描述

⑥ 修改源表的连接对象;

在这里插入图片描述
在这里插入图片描述

⑦ 修改目标表的连接对象;

在这里插入图片描述
在这里插入图片描述

⑧ 使用CTRL + S保存一下创建的任务;

在这里插入图片描述
在这里插入图片描述
5)创建工作流

① 创建一个工作流;

在这里插入图片描述
在这里插入图片描述

② 将任务拖动到右侧空白区域;

在这里插入图片描述
在这里插入图片描述

③ 建立工作流与任务之间的连接;

在这里插入图片描述
在这里插入图片描述

④ 使用CTRL + S保存一下创建的工作流;

在这里插入图片描述
在这里插入图片描述

⑤ 通过任务启动工作流;

在这里插入图片描述
在这里插入图片描述

⑥ 上述操作会自动打开M客户端,我们在M客户端查看一些日志信息。从下面的结果总可以看出:第一次插入的时候,目标表中是没有任何数据,因此会将源表中所有的3000条数据,都插入到目标表中;

在这里插入图片描述
在这里插入图片描述

⑦ 此时,去edw用户下,查看最终生成的数据;

在这里插入图片描述
在这里插入图片描述
4、验证“增量抽取”

① 在源表中新增2条数据;

代码语言:javascript
复制
insert into ODS_CUST_INFO (ID, CUST_ID, PHONE_NO, NAME)
values (6666,6666,66666666666,'诸葛亮');
insert into ODS_CUST_INFO (ID, CUST_ID, PHONE_NO, NAME)
values (8888,8888,88888888888,'刘备');

效果如下:

在这里插入图片描述
在这里插入图片描述

② 在M客户端中,重新启动任务;

在这里插入图片描述
在这里插入图片描述

③ 观察下面结果,可以看到第二次就只插入了最新的2条记录;

在这里插入图片描述
在这里插入图片描述

④ 此时,去edw用户下,查看最终生成的数据,共有3002条记录;

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、需要使用的数据源都在如下oracle_oltp_date.sql文件中,下面演示如何导入数据;
  • 2、本文章使用的表是客户基本信息表ods_cust_info表,总共有3000条数据,截取部分数据展示如下;
  • 3、ETL开发流程如下
    • 1)定义源表
      • 2)定义目标表
        • 3)定义映射
          • 4)创建任务
            • 5)创建工作流
            • 4、验证“增量抽取”
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档