关于 SSIS 并行foreach loop的一个设计思路
2013-11-15 20:40
134 查看
SSIS 包在控制流方面的性能优化,主要是提高并行度。
可以设置并发线程数MaxConcurrentExecuteables.
SSIS中的foreach loop container 不是并行执行任务的,
如果我们想使用并行执行的,可以借助第三方扩展的工具:parallel foreach loop.
参照:http://www.cozyroc.com/ssis/parallel-loop-task.
当然,你也可以使用script task,在里面并发完成所有的内容。
不过为了充分使用已有的SSIS 组件,我想了一个可以根据已有组件的,写相对少的代码,
使foreach loop类似于并发地完成工作。
基本思路就是把我们要处理的对象分组,然后使用多个foreach loop 的多个实例。
就像某个程序是串行的,但我们可以把它处理的任务分开,多运行几个实例而已。
譬如有一个folder里面,有巨多的文件,使用相同的文件结构我们可以使用foreach loop进行循环处理,、
使用同一个Data flow. 如果文件量多,数量大,则我们可以想以下办法。
根据一般情况,设置N个变量,object类型,用来承接文件名列表。
相对应的N个INT型变量,表示上面变量中文件的个数。
在foreach loop container 前面放置一个script task,把上面的变量作可写变量传入。
通过script task 先搜集下面的文件列表,然后等值分组,分组到N个数组里面,
同时N个变量标识数据的count,然后以count为约束条件下接N个foreach loop container.
这样就在某种程度上实现了并行执行的foreach loop.
还有一种情况就是可能source 文件 比较大,我们可以先把大文件分割成小文件,然后使用这个思路完成。
可以设置并发线程数MaxConcurrentExecuteables.
SSIS中的foreach loop container 不是并行执行任务的,
如果我们想使用并行执行的,可以借助第三方扩展的工具:parallel foreach loop.
参照:http://www.cozyroc.com/ssis/parallel-loop-task.
当然,你也可以使用script task,在里面并发完成所有的内容。
不过为了充分使用已有的SSIS 组件,我想了一个可以根据已有组件的,写相对少的代码,
使foreach loop类似于并发地完成工作。
基本思路就是把我们要处理的对象分组,然后使用多个foreach loop 的多个实例。
就像某个程序是串行的,但我们可以把它处理的任务分开,多运行几个实例而已。
譬如有一个folder里面,有巨多的文件,使用相同的文件结构我们可以使用foreach loop进行循环处理,、
使用同一个Data flow. 如果文件量多,数量大,则我们可以想以下办法。
根据一般情况,设置N个变量,object类型,用来承接文件名列表。
相对应的N个INT型变量,表示上面变量中文件的个数。
在foreach loop container 前面放置一个script task,把上面的变量作可写变量传入。
通过script task 先搜集下面的文件列表,然后等值分组,分组到N个数组里面,
同时N个变量标识数据的count,然后以count为约束条件下接N个foreach loop container.
这样就在某种程度上实现了并行执行的foreach loop.
还有一种情况就是可能source 文件 比较大,我们可以先把大文件分割成小文件,然后使用这个思路完成。
相关文章推荐
- 请各位大虾们帮帮小弟,谢谢!一个关于产品搜索数据库设计思路的问题
- (转)关于TCP的一个跨层设计的 具体实现思路 (兼讨论 tcl.eval与Tcl_Eval的区别)
- OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为R
- 【安卓-自定义布局】安卓App开发思路 一步一个脚印(十三)关于ListView的优化总结
- 一个文本情感识别与舆情分析的算法设计思路
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 一个AS3 socket解码设计的错误思路
- 不就是一个订票网站吗,12306的核心模型设计思路究竟复杂在哪儿?
- 一个关于android游戏下载静默安装功能的思路以及实现
- 关于密码管理,一个很好的思路
- 关于工序设计中最优解的一个算法【原创】
- 关于Activity和Task的设计思路和方法
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 忙了一周,终于搭建了按自己思路设计的一个架构!
- Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
- 一些关于并行计算的科研思路
- 【蛙蛙推荐】想设计一个关于软件开发的元搜索引擎,希望大家支持
- 一个关于用户体验的设计视频 记录一下
- 在亚马逊上关于设计模式的一个评论
- 关于一个大型web系统架构设计和技术选型的讨论摘录