zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

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

2023-03-15 23:29:37 时间
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字段进行降序排列;