一、解法一

1、同构关联和异构关联的区别

ETL(九):同构关联(源限定符转换组件的使用)
注:同构关联的表出自同一个地方,比如说两张表都来自Oracle数据库;异构关联的表出自不同地方,比如说一张表来自Oracle数据库,一张表来自于MySQL数据库。

2、需求

ETL(九):同构关联(源限定符转换组件的使用)

3、ETL开发流程

1)定义源表

① 将scott用户中的emp表和dept表都导入到info中;
ETL(九):同构关联(源限定符转换组件的使用)

2)定义目标表

① 由于源表有两个,我们随便拖拉一张表到右侧灰色区域,进行目标表的设置;
ETL(九):同构关联(源限定符转换组件的使用)
② 双击该表,进行目标表表名的设置;
ETL(九):同构关联(源限定符转换组件的使用)
③ 在原来字段的基础上,新增几个字段,得到最终目标表的字段;
ETL(九):同构关联(源限定符转换组件的使用)
④ 生成并执行sql,在目标数据库中生成该目标表;
ETL(九):同构关联(源限定符转换组件的使用)
⑤ 取edw用户下,查看该目标表ora_edw_same_join;
ETL(九):同构关联(源限定符转换组件的使用)

3)定义映射

① 创建一个映射;
ETL(九):同构关联(源限定符转换组件的使用)
② 将源表和目标表都拖拉到右侧的灰色区域;
ETL(九):同构关联(源限定符转换组件的使用)
③ 删除emp表和dept表各自的SQ表,效果如下;
ETL(九):同构关联(源限定符转换组件的使用)
④ 新建一个“源限定符转换SQ”组件,将上述两张表进行关联;
ETL(九):同构关联(源限定符转换组件的使用)
⑤ 完成上述操作后,就会产生如图所示的“源限定符转换SQ”组件;
ETL(九):同构关联(源限定符转换组件的使用)
⑥ 双击“源限定符转换SQ”组件,设置上面两张表的关联条件;
ETL(九):同构关联(源限定符转换组件的使用)
⑦ 将“源限定符转换SQ”组件中的字段,与目标表之间的字段进行连接;
ETL(九):同构关联(源限定符转换组件的使用)
⑧ 使用CTRL + S保存创建的映射;
ETL(九):同构关联(源限定符转换组件的使用)

4)定义任务

① 创建一个任务;
ETL(九):同构关联(源限定符转换组件的使用)
② 选择该任务要执行的映射;
ETL(九):同构关联(源限定符转换组件的使用)
③ 修改源表的连接对象;
ETL(九):同构关联(源限定符转换组件的使用)
④ 修改目标表的连接对象;
ETL(九):同构关联(源限定符转换组件的使用)
⑤ 使用CTRL + S保存一下该任务;
ETL(九):同构关联(源限定符转换组件的使用)

5)定义工作流

① 定义一个工作流;
ETL(九):同构关联(源限定符转换组件的使用)
② 建立工作流与任务之间的连接;
ETL(九):同构关联(源限定符转换组件的使用)
③ 使用CTRL + S,保存一下工作流;
ETL(九):同构关联(源限定符转换组件的使用)
④ 通过任务启动工作流;
ETL(九):同构关联(源限定符转换组件的使用)
⑤ 上述操作会自动打开M客户端,我们在M客户端查看一些日志信息。尤其是当我们出现错误的时候,日志信息可以帮助我们找到自己的错误究竟在哪里;
ETL(九):同构关联(源限定符转换组件的使用)
⑥ 最后可以去edw用户下,查看目标表中的数据,正是我们想要的效果;
ETL(九):同构关联(源限定符转换组件的使用)

二、解法二:直接在info中使用SQL

  在上述操作基础上,进行部分开发步骤的修改即可。为了和上面目标表的结果区分开,我们完成如下效果展示;
ETL(九):同构关联(源限定符转换组件的使用)

1、直接从原来创建好的映射那里,开始进行修改;

① 先来查看一下之前创建好的映射,是啥样;
ETL(九):同构关联(源限定符转换组件的使用)
② 删除原来的“源限定符转换SQ”组件;
ETL(九):同构关联(源限定符转换组件的使用)
③ 重新添加一个“源限定符转换SQ”组件;
ETL(九):同构关联(源限定符转换组件的使用)
完成上述操作后,就会出现如下界面;
ETL(九):同构关联(源限定符转换组件的使用)
④ 双击c,就会出现如下界面;
ETL(九):同构关联(源限定符转换组件的使用)
⑤ 在上述基础上,进行如下操作(这一步很关键);
ETL(九):同构关联(源限定符转换组件的使用)
注意!注意!注意!上述操作只是第一步,接着进行下面这一步;
ETL(九):同构关联(源限定符转换组件的使用)
⑥ 然后在将“源限定符转换SQ”组件中的字段,全部传递给目标表中的字段;
ETL(九):同构关联(源限定符转换组件的使用)
⑦ 使用CTRL + S保存修改好的映射;
ETL(九):同构关联(源限定符转换组件的使用)
⑧ 重新刷新一下映射;
ETL(九):同构关联(源限定符转换组件的使用)
⑨ 使用CTRL + S保存;
ETL(九):同构关联(源限定符转换组件的使用)
⑩ 重新启动任务;
ETL(九):同构关联(源限定符转换组件的使用)
注意:可以看到这里拒绝了一行,那是因为我们做右连接的时候,最后一条数据emptno为空,但是emptno在目标表中又是一个主键,因此不允许插入,因此目标表中仍然是14条记录。
⑪ 可以去edw用户下,检验一下目标表中的数据;
ETL(九):同构关联(源限定符转换组件的使用)

相关文章:

  • 2021-06-06
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-12-11
  • 2021-12-10
  • 2021-10-12
  • 2022-12-23
猜你喜欢
  • 2021-03-28
  • 2021-06-04
  • 2022-01-12
  • 2021-09-24
  • 2021-07-01
  • 2022-12-23
  • 2021-04-25
相关资源
相似解决方案