我们有一个小型数据流任务,它将行从表导出到平面文件。
我们为转换操作添加了一个脚本组件(Converting Varbinary to String)。
由于脚本组件需要一段时间,我们决定使用新的集成服务
Balanced Data Distributor 并将导出任务分成两个平面文件。
在执行任务时,似乎 BBD 没有划分工作负载并且没有
在并行模式下工作。
你知道为什么吗?
我们有一个小型数据流任务,它将行从表导出到平面文件。
我们为转换操作添加了一个脚本组件(Converting Varbinary to String)。
由于脚本组件需要一段时间,我们决定使用新的集成服务
Balanced Data Distributor 并将导出任务分成两个平面文件。
在执行任务时,似乎 BBD 没有划分工作负载并且没有
在并行模式下工作。
你知道为什么吗?
您是否尝试过使用NTILE并在数据流中创建多个 OLE DB 源?
下面的示例说明如何为 2 个组执行此操作。您当然可以根据需要将源拆分为多个:
-- SQL Command text for OLE DB Source #1 named "MyGroup NTILE 1"
SELECT v.*
FROM
(SELECT t.* ,
NTILE(2) OVER(
ORDER BY t.my_key) AS MyGroup
FROM my_schema.my_table t) v
WHERE v.MyGroup = 1;
-- SQL Command text for OLE DB Source #2 named "MyGroup NTILE 2"
SELECT v.*
FROM
(SELECT t.* ,
NTILE(2) OVER(
ORDER BY t.my_key) AS MyGroup
FROM my_schema.my_table t) v
WHERE v.MyGroup = 2;
如果您事先对所需的 NTILE 的最大数量有一个好主意(比如 10 个),那么您可以提前创建 10 个 OLD DB Source。