5

在数据流中,是否可以进行查找、插入不匹配的行、重新查找然后继续使用完整(原始)数据集?

我看不到在插入的行转到 a 之后如何获取/重新使用它们OLE DB Destination,我也看不到 aMulticast可以等到查找插入分支完成(然后将所有它们合并回来)。

如果不能在数据流中完成,我是否必须在之前的数据流任务中重复所有过滤逻辑,以便首先进行查找插入?

这可能是一个明显/已经回答的问题,但搜索后我找不到太多。

4

1 回答 1

5

这在单个数据流中是不可能的。如果你用谷歌搜索得够多,周围有各种各样的“解决方案”,但它们忽略了行在缓冲区/批处理中沿着数据流传输并并行处理的架构现实。

因此,图像您有多个“新”行到达 2 个相邻缓冲区。无法确保在缓冲区 2 命中上游查找之前,您对缓冲区 1 的“新”行的下游处理已经完成。这将导致多个“新”行被插入到相同键的查找目标表中。

您需要有一个上游数据流任务来执行所有必需的查找插入。这将是运行时整体上更有效的解决方案,因为您的查找插入可以使用快速加载和表锁定,并且您的下游查找可以是完整缓存。

于 2012-11-08T03:20:44.730 回答