SSIS学习之SSIS介绍(二)

4. 研究一个控制流示例

图12-2显示了一个简单的控制流示例。它以FTP任务开始,该FTP任务用于下载已压缩的数据文件。一旦下载完这些文件,运行时就会到达Foreach循环容器,在该容器内部有两个任务:执行进程任务(该任务调用unzip应用程序来解压缩数据文件)和大容量插入任务(该任务将数据文件的数据插入到SQL Server中)。当解压缩完数据文件并且将数据文件的数据加载到SQL Server中时,循环会停止。如果在循环期间发生了错误,则该控制流将执行发送邮件任务:向DBA发送电子邮件。如果正确地执行了每个任务,则该控制流将执行SQL任务:在新的数据集上创建一些视图。断点是在执行SQL任务的OnPreExecute事件上设置的,以便DBA在创建视图前可以对数据加以验证。

 

图12-2 控制流的示例

12.1.3 数据流

控制流是出现较早的概念,因为它从SSIS的第一个版本开始就已经存在了,而数据流是在SQL Server 2005中才引入的新概念。数据流是专门处理数据操作的工作流。

数据流也称为流水线。可以将数据流认为是装配线,该装配线包含了顺序执行的多个操作。在数据流中的每个节点都称为转换。数据流通常以源转换开始,以目标转换结束。在这两个转换之间,预定义的数据流转换被依序应用到数据上。一些转换是同步的,例如,查找、条件性拆分和数据转换。这些同步的转换可以并行执行。

一旦已经将转换应用到数据行上,则下一个转换可以开始处理该数据行,而无需等到上一级转换处理完整个数据集。一些转换是异步的,例如聚合和排序。这些转换必须从前面的输出中获得所有的行,从而可以处理和产生输出,用于后续转换。

除了预构建的转换清单,SSIS还提供了一些API,可以使用这些API来构建自己的数据流转换。例如,可以构建Numeric Processing转换来将数学计算和转换应用到流水线数据上。

数据流总是包含于任务流中。有一个特殊的任务,其名称为数据流任务,该任务是用于容纳数据流的容器。在构建数据流之前,必须将数据流任务加入到设计器中。

1. 转换

任务是任务流的基本组件,而转换是数据流的基本组件。转换是预定义的数据操作。可以将转换视为装配线中的机器,用于对输入数据进行操作。表12-2显示了在SSIS数据流环境中流行的转换列表。

表12-2 SSIS的转换

转    换

描    述

“聚合”转换

执行聚集,例如average、sum和count

“字符映射表”转换

将字符串函数应用到字符数据上

“条件性拆分”转换

基于指定的标准来将数据行路由到不同的输出

“复制列”转换

将输入列的副本添加到转换的输出中

“数据转换”转换

将列的数据类型转换为不同的数据类型

“派生列”转换

使用表达式来生成从现有列中派生的新列

“处理维度”转换

处理Analysis Services的维

“模糊分组”转换

通过以下方式来执行数据清理的任务:首先识别可能重复的数据行,然后选择规范的数据行来用于对数据进行标准化

“模糊查找”转换

在引用表中使用模糊匹配来查找值

“查找”转换

在引用表中使用精确匹配来查找值

“合并”转换

合并两个已分类的数据集

“合并联接”转换

使用FULL、LEFT或者INNER join来连接两个已分类的数据集

“多播”转换

将数据集分布到多个输出中

“分区处理”转换

处理Analysis Services的划分

“透视”转换

创建规范表的较低规范化版本

“排序”转换

对流水线的数据进行分类

“Union All”转换

创建多个数据集的并集

“逆透视”转换

创建不规范表的较规范版本

2. 查看器

查看器是为了调试数据流而设计的。可以在执行期间使用查看器来查看流水线中的流。可以将查看器附加在转换之间的连线上。要增加查看器,可以在连线上右击,然后选择“数据查看器”菜单项。默认的查看器是网格图。也可以增加直方图,散点图和圆柱图作为图形查看器。如果这些预定义的查看器还不能满足您的需求,则您甚至可以构建自己的查看器。

文章整理:学网 http://www.xue5.com (本站) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

 

 

3. 研究一个数据流示例

图12-3显示了一个数据流的示例。该数据流以OLE DB Source转换开始,该转换加载包含零售销售事务的事实表。第二个转换是“查找”,该转换从客户维表中查找客户姓名中的名和姓。这两列被加入到流水线的数据中。下一个转换是“派生列”,该转换基于姓名中的名和姓来创建新的Full Name列。然后,数据到达“聚合”转换,该转换累加每个客户的总销售额。基于销售额,“条件性拆分”转换将客户拆分为两个目标表:一个表对应重要的客户,而另一个表对应普通的客户。

 

图12-3 数据流的示例

12.2 在SSIS环境中进行数据挖掘

SSIS提供了流的环境,在该环境中可以通过一组内置的任务和转换来进行数据提取、加载和转换。

正如您已经学习的,在数据挖掘项目中最消耗资源的工作是数据清理和转换。SSIS自然可以作为数据挖掘项目很好的补充。可以使用这个强大的工具来从不同的源中加载数据,将这些数据连接在一起,规范化列的值,移除无用的记录,替换缺失值,以及将数据分成训练数据集和测试数据集等。

SSIS不仅仅作为数据挖掘的ETL工具,SSIS实际上还在控制流和数据流环境中提供了一些内置的数据挖掘组件。特别地,在表12-3中列出了一些专门用于数据挖掘的任务和转换。

表12-3 用于数据挖掘的任务和转换

 

数据挖掘的任务或者转换

描    述

数据挖掘查询任务

基于数据挖掘模型来运行预测查询

Analysis Services处理任务

处理需要分析的对象

posted @ 2012-03-12 14:30  ^_^肥仔John  阅读(1357)  评论(1)    收藏  举报