SSIS中的容器和数据流—数据目的

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在Data Flow中Destination从数据源或者数据处理流程中接收数据。在SSIS中数据可以导入到任何OLE DB支持的数据源,平面文件或者Analysis Service中的数据。和数据源一样Destinations也通过连接管理器来连接,不同之处是有一个数据映射界面如图4-11。

在Data Flow中Destination从数据源或者数据处理流程中接收数据。在SSIS中数据可以导入到任何OLE DB支持的数据源,平面文件或者Analysis Service中的数据。和数据源一样Destinations也通过连接管理器来连接,不同之处是有一个数据映射界面如图4-11。

img_4da7667beafae8df1b320d00e053f100.png

4-11

只有在连接到数据流之后才可以配置Destinations,使用绿色箭头将数据源或者数据流和Destinations连接起来。如果在连接之前就配置Destinations会得到如图4-12的警告提示。

img_9c20ee4c40b6f71fb1f6e5345062e059.png

图4-12

 

数据挖掘模型接收器Data Mining Model Training

数据挖掘模型可以接收分析Analysis Service中的数据仓库中的数据,它可以分析多个数据挖掘模型。执行这种操作需要连接Analysis Service。注意:传递给数据挖掘模型的数据必须预先分类,为达到这种目的需要使用排序传输。

数据读取接收器DataReader Destination

数据读取接收器是将SSIS数据流扩展到SSIS外部,并提供数据接口供外部使用例如供报表服务使用。编辑数据读取接收器时要给它取一个合适的名字,使得在以后的后续的开发过程中更加容易的使用。在图4-13中可以看到这个接收器的名字是RowSampling Output,设置好名字等其他属性之后再InputColumn标签页面内检查你要输出到接收器的数据列。

img_120a68d0bcdecfc150c2ec3a7d5cac25.png

图4-13

如果要在报表服务中使用这个接收器,需要保证有可用的SSIS连接。在报表服务中确保在RSReportDesigner.config文件中有一个包含SSIS的扩展节点<DATA>,在报表设计中将会看到一种新的连接类型SSIS,选择这种数据源,在连接请求框内输入以下类似的完全限定文件名称:

-f C:\Packages\RSSPartnerFeed.dtsx

这个是用来指定读取数据接收器为报表数据的来源。每次请求报表就会自动执行package来从数据流中获得数据。可想而知只有从package中请求得到数据,报表中才会展现数据。在部署报表之前要先调试好package,因此程序的运行速度可能会因此而减慢。

在实际应用中使用SSIS作为报表的数据源对于展现非SQL数据会非常的有用,例如想要展示一些扁平数据RSS feed,在后面部分中将会详细说明。

 

Dimension处理和Partition处理 

 Dimension处理主要处理Analysis Service中的一些Dimension,可以选择展现全部Full,添加Add(incremental)和更新Update。在Connection Manager栏中配置连接,然后会看到实际表中的Dimensions如图4-14,选择要进行process的Dimension,点击Mapping标签转到页面,将数据列从数据流中映射到Dimensions中。最后在Advanced界面中选择怎么处理错误,一般情况下这个页面保持默认值,除非有一些特殊处理。

img_239fb72ca81c45857365a9c79d491bf5.png

图4-14

Partition处理有类似的选项,不同的是它是处理Analysis Service中的partition。

 

Excel  Destination

Excel Destination和Excel数据源非常的类似,不同的是它接收数据而不是抽取数据,它的编辑页面和Excel数据源的编辑界面是相似的。

 

平面文件Destination

平面文件Destination用来将数据送入到一个平面文件中,和其他连接一样,这里需要新建一个文件链接。在Header选项中可以输入数据列的名字,这样在文件中就会添加一个列名行,最后在Overwrite data in the file选项可以设置是否每次执行都将数据重新写入文件。

 

OLE DB Destination

在SSIS中最常用的一种就是OLE DB Destination了,如图4-15。它可以将数据写入OLE DB兼容的数据对象中例如Oracle,Access,SQL Server。和数据源一样,这里也需要配置OLE DB数据连接。在Data Access Model中选择Table or View — Fast Load,在下面就会有一些单选框例如Table Lock,这种设置只是在SQL Server数据库中才会有。在Rows Per Batch option选择项中设置一次允许多少行数据执行,Maximum Insert Commit Size属性设置使用Fast Load Option时一次允许多少量(kb)的数据执行,Keep identity选项在执行时保留数据完整性。

img_0e5a3a51249405c4591273105b3e6eb0.png

图4-15

  

原始数据Destination

原数据Destination是一种不需要设置连接的速度非常快的数据对象。在编辑界面内,需要指定一个原数据文件,原数据一般是一种中转数据,写入文件之后其他的package就可以使用这种数据文件作为数据源。数据的格式简单,转换的速度非常快,在有特殊的速度要求时才会使用这种数据源。

  

记录集Destination

记录集Destination可以将数据转移到一个ADO数据集,例如将数据集读取到一个dataset之后,然后再使用Script task从一个变量中读取到这些数据。这种Destination不支持错误处理,这是它的一个缺点。

  

SQL Server 和移动Destination

SQL Server Destination是SQL数据库中最佳的应用,它使用bulk insert是的写入速度非常地快。它从数据流中获得数据然后使用bulk insert快速地将数据写入到数据库。在编辑界面可向像Bulk insert task那样编辑,例如设置executing triggers属性,lock table属性,注意这种Destination使用内存中的接口,所以它只能接受同一个服务器中的数据,也就是本机数据。最后移动Destination可以将数据导入到一个小型机或其他移动设备上。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3月前
|
移动开发 前端开发 HTML5
Twaver-HTML5基础学习(20)数据容器(3)_数据的批量加载(节省性能方法)
本文介绍了Twaver HTML5中数据的批量加载方法,通过使用`box.startBatch()`可以在大量数据加载时提高性能。文章通过示例代码展示了如何在React组件中使用批量加载功能,以减少界面重绘次数并提升效率。
59 2
Twaver-HTML5基础学习(20)数据容器(3)_数据的批量加载(节省性能方法)
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
49 1
|
3月前
|
XML 移动开发 JSON
Twaver-HTML5基础学习(18)数据容器(1)_增删查改、遍历数据容器、包含网元判断
本文介绍了Twaver HTML5中的数据容器(DataBox),包括如何进行增删查改操作、遍历数据容器以及判断网元是否存在于数据容器中。DataBox用于管理所有的网元对象,如ElementBox、LayerBox、AlarmBox等,并通过示例代码展示了其常用方法的使用。
48 1
Twaver-HTML5基础学习(18)数据容器(1)_增删查改、遍历数据容器、包含网元判断
|
3月前
|
存储 索引 Python
python中的数据容器
python中的数据容器
|
4月前
|
安全 网络安全 数据安全/隐私保护
云原生技术探索:容器化与微服务架构的实践之路网络安全与信息安全:保护数据的关键策略
【8月更文挑战第28天】本文将深入探讨云原生技术的核心概念,包括容器化和微服务架构。我们将通过实际案例和代码示例,展示如何在云平台上实现高效的应用部署和管理。文章不仅提供理论知识,还包含实操指南,帮助开发者理解并应用这些前沿技术。 【8月更文挑战第28天】在数字化时代,网络安全和信息安全是保护个人和企业数据的前线防御。本文将探讨网络安全漏洞的成因、加密技术的应用以及提升安全意识的重要性。文章旨在通过分析网络安全的薄弱环节,介绍如何利用加密技术和提高用户警觉性来构建更为坚固的数据保护屏障。
|
4月前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
|
5月前
|
Shell Linux Docker
docker常用命令大全(基础、镜像、容器、数据卷)
这些命令仅仅是 Docker 命令行工具的冰山一角,但对于日常操作来说已经非常全面。通过熟练地使用这些基础命令,用户可以有效地管理 Docker 的镜像、容器、数据卷和网络。随着用户对 Docker 的深入使用,更高级的命令和选项将会变得必需,但上面列出的命令已经为用户提供了一个坚实的起点。对于初学者来说,理解和掌握这些常用命令是深入学习 Docker 的基础。
520 5
docker常用命令大全(基础、镜像、容器、数据卷)
|
4月前
|
监控 安全 网络安全
|
5月前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
58 5
|
4月前
|
域名解析 Kubernetes 负载均衡
在K8S中,外部访问容器服务,比如说提供了一个域名,链路怎么走?数据经过哪些组件?
在K8S中,外部访问容器服务,比如说提供了一个域名,链路怎么走?数据经过哪些组件?