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

1、需求如下

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

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

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

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

4、ETL开发流程如下

1)定义源表

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

2)定义目标表

① 利用源表生成目标表;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
② 双击该表,给目标表重新命名;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
③ 对源表中的列进行筛选,保留或者自定义我们想要的列;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
④ 生成并执行sql后,目标表中才会生成这个表的表结构(这一步很关键!!!);
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑤ 针对上述“生成数据库对象”表,做如下操作;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑥ 执行完成以后,可以去edw用表下面查看已经生成了edw_ITEMS表;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用

3)创建映射

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

⑥ 上述所有操作完成后,就会出现如下结果;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑦ 通过上图可以发现avg(price)的2倍这个字段还没有创建出来,使用;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑧ 进行映射关联,关联图如下;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑨ 点击CTRL+S,保存一下,界面左下角出现如下界面,表示创建的映射没有问题;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用

4)创建任务

① 创建一个任务;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
② 当出现如下界面后,完成以下操作;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
③ 修改源表的连接对象;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
④ 修改目标表的连接对象;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑤ 用CTRL+S保存一下,当出现如下界面,证明任务创建成功;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用

5)创建一个工作流

① 创建一个工作流;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
② 将会话拖拉到右侧灰色区域,让工作流调度任务;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
③ 点击CTRL+S保存,当出现如下界面,证明工作流创建成功;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
④ 启动工作流;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑤ 上述操作会自动帮我们打开M客户端;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用
⑥ 此时,去edw用户下查看edw_ITEMS表中已经有了数据;
ETL(三):汇总转换器组件(聚合)和表达式组件的合用