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处理任务
处理需要分析的对象
欢迎添加我的公众号一起深入探讨技术手艺人的那些事!
如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!


浙公网安备 33010602011771号