SSIS中的容器和数据流—举例说明数据转换任务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在上一个随笔中我们熟悉了数据流任务,现在来做一个例子,通过实践学习这些介绍的内容。这个例子从AdventureWorks数据库中取得数据,然后对数据进行聚合,排序,计算产生新列操作并输入到一个.csv文件中。

在上一个随笔中我们熟悉了数据流任务,现在来做一个例子,通过实践学习这些介绍的内容。这个例子从AdventureWorks数据库中取得数据,然后对数据进行聚合,排序,计算产生新列操作并输入到一个.csv文件中。

  1. 新建一个新的package将它重命名为AdventureWorksExtract.dtsx,在control flow中拖放一个数据流任务,双击进入data flow 界面
  2. 在data flow界面内拖放一个OLE DB数据源,右击重命名为TransactionHistory,双         击打开编辑界面AdventureWorks数据库连接如果已经存在就直接选择它,如果不存在点击新建一个连接
  3. 新建连接之后回到OLE DB Source Editor界面,默认Data Access Mode选项是Table or View,选择数据库中的表[Production].[TransactionHistoryArchive],如图4-32img_2ebde192ce8da5989f4f32c3171a1808.png                              图4-32
  4. 点击Column Page如图4-33选择列ProductID, Quantity,和 ActualCost,点击OK退出img_6bc14c6b43f98d8d974611b376bf22ad.png                              图4-33
  5. 从工具栏Data Flow Transformations中拖放一个Derived Column任务用来产生派生新列,重命名为Calculate Total Cost,用鼠标拖住TransactionHistory 数据源连接这个task
  6. 双击这个Derived Column打开编辑界面如图4-34,在表达式列中输入下面的表达式:[Quantity]* [ActualCost],列名也可以从左边Columns拖放如图img_0e8002982682bfdd3b84d81648995044.png,在Derived Column Name列中输入TotalCost,Derived Column列中选择<add as a new column>,点击OK退出编辑界面img_dbcc61fb1705fbabf3655665e4b2aa6f.png                        图4-34
  7. 在data flow中拖放一个Aggregate任务,重命名为Aggregate Data,把它和Derived Column连接起来。双击Aggregate任务打开编辑界面如图4-35双击ProductID可以看到下面表格中新添加了一行,在Operation中选择Group By,然后栓剂Quantity和TotalCost,在Operation中选择Sum。点击OK退出编辑界面                            img_9894a6db7a5a5d9efd1dd982475dec5e.png                                  图4-35
  8. 从Data Flow Transformations中拖放一个Sort任务重命名为Sort by ProductID,把它和Aggregate任务连接起来。双击Sort任务打开编辑界面,选择Quantity字段降序排列,意思是按照销售量从高到低排序,点击OK退出编辑界面。
  9. 从Data Flow Destinations中拖放一个一个Flat File Destination任务重命名为Vendor Extract,把它和Sort任务连接起来。
  10. 双击Flat File Destination打开编辑界面,新建一个文件连接,在弹出的文件格式选择对话框中默认选择第一个Delimited,将连接命名为Vendor Extract,在File Name文本框中输入C:\SSISDemos\VendorExtract.csv,如果C盘下没有这个文件夹,要新建一个。最后的界面如图4-36,点击OK退出编辑界面。img_bc6be655564fffe077ad077fc14b8456.png                                                         图4-36 
    点击mapping标签界面,可以看到从Sort任务中输入的数据和文件中的数据列一一对应,如图4-37
    img_e7fa4b647340284d303a711173432b42.png
    图4-37

现在整个package完成了,这是一个典型的ETLpackage,右击运行这个package执行完成之后可以看到绿色的连线傍边有转换的数据行数,如图4-38img_f4837a3746639756290b54f03d028b4c.png

图4-38

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

目录
相关文章
|
5月前
|
关系型数据库 MySQL 数据库
Docker容器数据持久化之Data Volume(数据卷)与容器数据共享(1)
Docker容器数据持久化之Data Volume(数据卷)与容器数据共享(1)
|
3月前
|
Shell Linux Docker
Docker -v 挂载主机目录到容器中(及数据卷容器)
Docker -v 挂载主机目录到容器中(及数据卷容器)
87 0
|
3月前
|
存储 Docker 容器
Docker容器数据卷与数据共享持久化
Docker容器数据卷与数据共享持久化
80 0
|
18天前
|
存储 Python 容器
Python-数据容器
Python-数据容器
9 3
|
4月前
|
关系型数据库 MySQL Java
Docker学习重点(6)~容器数据卷
Docker学习重点(6)~容器数据卷
109 0
|
1月前
|
存储 机器学习/深度学习 Cloud Native
深入浅出Docker容器数据卷
深入浅出Docker容器数据卷
28 1
|
1月前
|
存储 Python 容器
python数据容器之字典相关的操作
python数据容器之字典相关的操作
15 2
python数据容器之字典相关的操作
|
1月前
|
存储 Python 容器
python数据容器之集合相关的操作
python数据容器之集合相关的操作
17 1
|
1月前
|
存储 索引 Python
python数据容器之列表相关的操作
python数据容器之列表相关的操作
18 1
|
1月前
|
Kubernetes 关系型数据库 数据库
运行在容器中 Postgres 数据库数据损坏后如何恢复?
运行在容器中 Postgres 数据库数据损坏后如何恢复?

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版