知识库 : 在iUAP DI中进行异构数据连接

Edit Document

iUAP DI 中进行数据连接

数据 连接 两个 结果 集水平方向的 按照 一定条件合并 连接 关系代数中 8 运算 一种。 连接 类型有内连接 左外连接、 右外连接 、全连接 。根据两个 结果集 存储 实际 情况, 还可以分为 异构连接和同构连接。在 iUAP DI 中对 上述 的数据连接 提供了良好的支持。

  1.    同构 连接

如果两个表在 同一个数据库中,最好 使用 SQL 进行连接, 关系型 数据库对连接操作提供了 很好 的性能优化。 同时 要注意连接字段上要建立索引,这样可以 大幅提高 查询速度。

如果两个 表在同种类型的数据库,但不是 同一个数据库时,可以使用数据 的连接工具建立数据链接,例如 Oracle DB Link DB2 联邦数据库等。 当然 也可以 使用 异构 连接 ,在下文 会有 方案 描述

  1.    异构 连接

异构 连接是指两张表不在同一 数据库的情况, 实际 情况有很多种,两个表可以在同类型数据但不是同一个数据库上,可以是不同类型的数据上,甚至是在平面文件上。 实践中,两个 的连接可以分为 两个 大表连接,一 大表 连接,两张小 连接 (这里 指的大表是 记录 数在 50 以上的,反之为小表) ,两张 小表连接 既可以 按照两张大表连接处理,也可以按照 一大 一小处理,这里不再 赘述,这里 主要讲解一大一小和 两个 大表的处理方法。

a)         “一大 小” 连接

ETL 开发过程经常 涉及 清洗和补充数据,例如利用 编码 查询出 名称 等,此时使用 Meta 查询或 DB 查询是一个很好的选择, 前者 针对 AE 元数据的 封装 ,后者更适用于一般数据库。 在下例中是 DB 查询的一个设置 截图 ,其目的是利用编码查询返回其主键 通过 DB 查询可以是 数据流 中的字段多出了 “表 返回 两个字段。如果 数据 量小于 50 ,建议使用开启缓存并一次性从表中加载所有的数据。这样 可以 大幅度提高效率。

DB 查询配置截图

b)         “两张 大表 ”连接

如果 是大表 使用 数据查询 由于不能缓存全部数据,可能需要多次查询数据库,这样运行可能就效率不高 在这种 情况 下比较合适使用 记录 连接就 下面 DI转换 订单 详情和顾客信息都是比较大的数据表 (都 超过了 100万 使用数据连接 进行 了连接操作。注意 ,两个 表输入必须按照连接字段排序,否则连接的结果不正确。

转换 截图

记录 连接配置截图

Attachments:

在iUAP DI中进行异构数据连接.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
在iUAP DI中进行异构数据连接.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
在iUAP DI中进行异构数据连接.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)