ETL(三):汇总转换器组件(聚合)和表达式组件的合用

不羁的心 提交于 2019-12-22 04:47:45

1、需求如下

在这里插入图片描述

2、在进行ETL开发之前,先创建一个edw用户。

3、创建一个test_aggregation文件夹,用于完成本次项目

  • 注意:每个作业相当于是一个工程project,创建文件夹方便我们管理项目,同时ETL开发流程步骤太多,放在同一个文件夹下显得更为合适了。

4、ETL开发流程如下

1)定义源表

在这里插入图片描述

2)定义目标表

① 利用源表生成目标表;
在这里插入图片描述
② 双击该表,给目标表重新命名;
在这里插入图片描述
③ 对源表中的列进行筛选,保留或者自定义我们想要的列;
在这里插入图片描述
④ 生成并执行sql后,目标表中才会生成这个表的表结构(这一步很关键!!!);
在这里插入图片描述
⑤ 针对上述“生成数据库对象”表,做如下操作;
在这里插入图片描述
⑥ 执行完成以后,可以去edw用表下面查看已经生成了edw_ITEMS表;
在这里插入图片描述

3)创建映射

① 创建映射;
在这里插入图片描述
② 将源表和目标表都拖拉到右侧的灰色区域;
在这里插入图片描述
③ 在源表和目标表中间加一个“汇总转换器”组件;
在这里插入图片描述
④ 双击“汇总转换器”组件,点击“端口”,出现如下原始界面;
在这里插入图片描述
⑤ 按照客户id分组,求price最大值,其他操作同理;
在这里插入图片描述

⑥ 上述所有操作完成后,就会出现如下结果;
在这里插入图片描述
⑦ 通过上图可以发现avg(price)的2倍这个字段还没有创建出来,使用;
在这里插入图片描述
⑧ 进行映射关联,关联图如下;
在这里插入图片描述
⑨ 点击CTRL+S,保存一下,界面左下角出现如下界面,表示创建的映射没有问题;
在这里插入图片描述

4)创建任务

① 创建一个任务;
在这里插入图片描述
② 当出现如下界面后,完成以下操作;
在这里插入图片描述
③ 修改源表的连接对象;
在这里插入图片描述
④ 修改目标表的连接对象;
在这里插入图片描述
⑤ 用CTRL+S保存一下,当出现如下界面,证明任务创建成功;
在这里插入图片描述

5)创建一个工作流

① 创建一个工作流;
在这里插入图片描述
② 将会话拖拉到右侧灰色区域,让工作流调度任务;
在这里插入图片描述
③ 点击CTRL+S保存,当出现如下界面,证明工作流创建成功;
在这里插入图片描述
④ 启动工作流;
在这里插入图片描述
⑤ 上述操作会自动帮我们打开M客户端;
在这里插入图片描述
⑥ 此时,去edw用户下查看edw_ITEMS表中已经有了数据;
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!