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

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

2、需求

ETL(十):异构关联(联接器转换组件的使用)

3、ETL开发流程

1)定义源表

① 将Oracle数据库中的emp表导入到info中;
ETL(十):异构关联(联接器转换组件的使用)
② 首先查看一下dept表在MySQL的什么数据库下;
ETL(十):异构关联(联接器转换组件的使用)
③ 将MySQL数据库中的dept表导入到info中,需要新建立一个连接MySQL的驱动;
ETL(十):异构关联(联接器转换组件的使用)
④ 完成上述操作后,就会出现下表,继续完成如下操作;
ETL(十):异构关联(联接器转换组件的使用)
⑤ 接着选择你要导入的表在什么数据库;
ETL(十):异构关联(联接器转换组件的使用)
⑥ 接下来从mysql中的导入dept表到info中;
ETL(十):异构关联(联接器转换组件的使用)
⑦ 上述操作完成后,接着完成下面的操作;
ETL(十):异构关联(联接器转换组件的使用)
⑧ 两张表导入完成后的效果如下;
ETL(十):异构关联(联接器转换组件的使用)

2)定义目标表:随意选择一张源表定义目标表,这里我们利用Oracle中的emp表定义目标表;

① 将emp表拖动到右侧的灰色区域;
ETL(十):异构关联(联接器转换组件的使用)
② 双击该目标表,给目标表重命名;
ETL(十):异构关联(联接器转换组件的使用)
③ 设置目标表的列字段:将dept中的字段加入到目标表的字段中去;
ETL(十):异构关联(联接器转换组件的使用)
④ 生成并执行sql,才能在目标数据库中真正生成这张目标表;
ETL(十):异构关联(联接器转换组件的使用)
⑤ 可以去目标数据库edw中查看生成的目标表;
ETL(十):异构关联(联接器转换组件的使用)

3)创建映射;

① 定义一个映射;
ETL(十):异构关联(联接器转换组件的使用)
② 将Oracle中的emp表和MySQL中的dept表,都拖拉到右侧灰色区域;
ETL(十):异构关联(联接器转换组件的使用)
注意:从上图可以看出:deptno同样一个字段在Oracle中和MySQL中数据类型不一致,因此,我们需要将这个字段的数据类型设置为相同。

③ 修改dept表中的deptno字段的数据类型:添加一个“f(x)表达式转换”组件,并将dept表中的所有字段,都传递给“f(x)表达式转换”组件;
ETL(十):异构关联(联接器转换组件的使用)
④ 双击“f(x)表达式转换”组件,进行数据类型的转换;
ETL(十):异构关联(联接器转换组件的使用)
⑤ 添加一个“联接器转换”组件,并将各自的字段都传递到“联接器转换”组件中;
ETL(十):异构关联(联接器转换组件的使用)
⑥ 双击“联接器转换”组件:设置一个关联条件;
ETL(十):异构关联(联接器转换组件的使用)
⑦ 将“联接器转换”组件中的字段都传递给目标表;
ETL(十):异构关联(联接器转换组件的使用)
⑧ 使用CTRL + S保存一下创建的映射;
ETL(十):异构关联(联接器转换组件的使用)

4)创建任务

① 创建一个任务;
ETL(十):异构关联(联接器转换组件的使用)
② 选择该任务执行的映射;
ETL(十):异构关联(联接器转换组件的使用)
③ 创建数据库连接对象;
Ⅰ 创建oracle中emp源表的数据库连接对象;
ETL(十):异构关联(联接器转换组件的使用)
ETL(十):异构关联(联接器转换组件的使用)
Ⅱ 创建mysql中dept源表的数据库连接对象;
ETL(十):异构关联(联接器转换组件的使用)
ETL(十):异构关联(联接器转换组件的使用)
Ⅲ 创建目标表的数据库连接对象,这个在oracle数据库中;
ETL(十):异构关联(联接器转换组件的使用)
ETL(十):异构关联(联接器转换组件的使用)
④ 修改源表的连接对象;
Ⅰ 修改emp表的连接对象;
ETL(十):异构关联(联接器转换组件的使用)
Ⅱ 修改dept表的连接对象;
ETL(十):异构关联(联接器转换组件的使用)
⑤ 修改目标表的连接对象;
ETL(十):异构关联(联接器转换组件的使用)
⑥ 使用CTRL + S保存该任务;
ETL(十):异构关联(联接器转换组件的使用)

5)创建一个工作流;

① 创建一个工作流;
ETL(十):异构关联(联接器转换组件的使用)
② 建立工作流与任务之间的连接,同时保存创建的工作流;
ETL(十):异构关联(联接器转换组件的使用)
③ 通过任务启动工作流;
ETL(十):异构关联(联接器转换组件的使用)
④ 上述操作会自动打开M客户端;
ETL(十):异构关联(联接器转换组件的使用)
⑤ 最后再去目标表中查看最终生成的数据,可以看到已经将mysql中的dept表和oracle中的emp表关联到一起了;
ETL(十):异构关联(联接器转换组件的使用)

相关文章:

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