ETL(五):排序转换器组件的使用

1、在我的ETL(三)和ETL(三)这两篇文章中,我们使用“汇总转换”组件、“LOOKUP查找转换”组件和“表达式转换”组件,将items中的源数据,按照供应商分组,求出了产品的最大价格、最小价格…最后还根据供应商id匹配查找求出了供应商名称,如下图所示;

在这里插入图片描述

2、需求如下

  使用“排序转换器”组件,在上述结果的基础上,按照MANUFACTURER_ID升序排列;

3、开发步骤

  我们直接在以前开发步骤上,添加、修改某些步骤即可完成上述需求,因此我们还是在文件夹test_aggregation中进行操作;

1)其他地方不用动,只修改一下映射即可。因为我们只是对原始结果进行排序,因此不需要动源表和目标表;

① 原来的映射如下图所示;
在这里插入图片描述
② 先删除其它表与目标表之间的连接关系;
在这里插入图片描述
③ 在其他表与目标表之间,添加一个“排序转换器”组件;
在这里插入图片描述
④ 把其他表中传递给目标表的字段,先都传递给这个“排序转换器”组件;
在这里插入图片描述
⑤ 双击“排序转换器”组件这张表,进行MANUFACTURER_ID字段的升序设置;
在这里插入图片描述
⑥ 将“排序转换器”组件这张表中的字段,再传递给目标表;
在这里插入图片描述
⑦ 点击CTRL+S保存,当出现如下界面,证明修改的映射创建完成;
在这里插入图片描述

2)创建任务:在W客户端中完成

① 在之前创建的任务中,只需要刷新映射即可;
在这里插入图片描述
② 点击CTRL+S重新保存一下这个任务;
在这里插入图片描述

3)创建工作流

① 只需要重新启动原来的工作流即可;
在这里插入图片描述
② 上述操作会自动打开M客户端,在M客户端可以查看执行日志,当出现了错误都可以在这里进行原因查找;
在这里插入图片描述
③ 此时,取edw用户下查看重新生成的edw_items表,可以看到结果已经按照MANUFACTURER_ID字段进行升序排列了;
在这里插入图片描述

4、补充说明

  你不仅可以按照某一个字段排序,还可以按照多个字段排序。比如说下面这张图:按照MANUFACTURER_ID字段进行升序排列,当MANUFACTURER_ID字段有相同值的时候,再按照MAX_PRICE字段进行降序排列;
在这里插入图片描述

发布了50 篇原创文章 · 获赞 64 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41261833/article/details/103660030