informatica同构与异构

目录

      • 1.同构需求
        • 1.1 将emp表和dept表进行内连接
        • 1.2 将emp表和dept表进行右连接
      • 2.异构需求
        • 2.1 使用oracle的emp表和mysql的dept表进行连接
      • 3.同构与异构总结


1.同构需求

1.1 将emp表和dept表进行内连接

要实现的结果:
informatica同构与异构_第1张图片
1.导入源表:emp表和dept表。
2.定义目标表:将emp表重命名,加入2个dept的字段,生成sql语句,在edw用户下创建表。
informatica同构与异构_第2张图片
informatica同构与异构_第3张图片
3.创建映射:
删除原本连着各自源表的源限定符,新建一个源限定符同时选择两张源表。
informatica同构与异构_第4张图片
设置属性为两张表的deptno相等。
informatica同构与异构_第5张图片
在端口我们只保留emp的deptno字段,删除dept的deptno字段,保存映射。
informatica同构与异构_第6张图片
4.创建任务和工作流,保存,执行,查看结果。
informatica同构与异构_第7张图片
informatica同构与异构_第8张图片

1.2 将emp表和dept表进行右连接

要实现的效果:
informatica同构与异构_第9张图片
我们可以在映射中的源限定符的属性中定义sql语句。
informatica同构与异构_第10张图片
端口的字段顺序要和定义的sql语句的查询字段的顺序一致。
informatica同构与异构_第11张图片
保存映射,重新执行工作流。
但是最终只返回14条数据,我们希望的是右连接返回所有20条数据,查看错误说无法将null写入到empno字段。
informatica同构与异构_第12张图片
原因是我们的源表emp和dept设置了empno为主键,所以需要先删除主键标志。
informatica同构与异构_第13张图片
目标表查看deptno在非空上也打勾了,需要去掉这个勾,然后重新执行sql语句,在edw用户下重新创建表格。
informatica同构与异构_第14张图片
重新刷新映射,创新创建任务和工作流,执行后,发现没有问题了。
informatica同构与异构_第15张图片
查看edw用户的数据导入情况也正常了。
informatica同构与异构_第16张图片

2.异构需求

2.1 使用oracle的emp表和mysql的dept表进行连接

1.从mysql中导入dept表
重新定义odbc驱动,去连接mysql。选择系统DSN,如果弹出警告说非管理权限,就使用管理员模式重新打开D客户端。
informatica同构与异构_第17张图片
点击确定后,设置连接mysql,以及dept表所在的数据库
informatica同构与异构_第18张图片
ODBC源选择刚刚创建的mysql,用户名是连接mysql的用户名和密码。
然后导入mysql的dept表。
informatica同构与异构_第19张图片
informatica同构与异构_第20张图片
2.定义目标表:edw_emp_join_dept_yigou
3.创建映射:
使用连接器转换组件joiner来关联两个不同数据库的源表。
informatica同构与异构_第21张图片
数据类型不一致,需要转换数据类型。将mysql的deptno的数据类型转换成和oracle的deptno一致,使用表达式组件
informatica同构与异构_第22张图片
重新使用连接器转换组件joiner来关联两个不同数据库的源表,设置oracle的deptno和mysql的deptno相等。
informatica同构与异构_第23张图片
连接目标表,保存映射。
informatica同构与异构_第24张图片
4.创建任务和工作流:
创建任务,新建mysql的dept表的源表对象。
informatica同构与异构_第25张图片
双击任务,分别编辑源表和目标表所属的表对象。
informatica同构与异构_第26张图片
创建工作流,保存,执行后,在edw用户下就能看到异构数据库连接的数据。
informatica同构与异构_第27张图片
informatica同构与异构_第28张图片

3.同构与异构总结

同构是两个源表连接一个源限定符。
异构是两个源表分别连接源限定符,再通过连接器转换组件将两者连接。
informatica同构与异构_第29张图片
表的连接方式
informatica同构与异构_第30张图片
主从表可以在转换器组件中自定义更换
informatica同构与异构_第31张图片

你可能感兴趣的:(ETL)