FocusBI: SSIS体系结构(原创)
关注微信公众号:FocusBI 查看更多文章;加QQ群:808774277 获取学习资料和一起探讨问题。
《商业智能教程》pdf下载地址
链接:https://pan.baidu.com/s/1f9VdZUXztwylkOdFLbcmWw 密码:2r4v
打开SQL Server Data Tools 2015它比2012版增加了不少大数据相关的数据处理组件,SSIS是微软BI的ETL(抽取、转换、加载)工具,SSIS 是 购买安装SQL Server时附加的一个免费工具;它的性能不比第三方收费工具差,在SSIS发布的时候,它保持了一项世界速度记录:在一小时内加载2TB数据,这是十年前的记录。
体系结构(一)
SSIS体系结构由包、控制流、数据流、变量、参数等组成,它非常有特色的地方就是处理数据时在数据流管道中实现,也就是说SSIS从数据库中能更快的提取数据已管道流的形式清洗数据。

SSIS中的数据流被实现为一种逻辑管道,数据从一个或多个源流出,然后经过必要的转换对数据进行清洗和调整,最后进入一个或多个目标。因为数据流主要在内存中工作(这给予了SSIS更强大的力量),所以相比于其他ETL类型的环境(在这些环境中,数据首先被加载到临时环境中,然后在通过SQL语句进行清洗),SSIS允许数据流更快的执行。
如何确认SSIS处理数据时使用的是管道,
- 打开一个SSIS项目,
- 右击一个包,
- 选择 查看代码
- 看到xml 格式的内容
- 按Ctrl + F 查找 PipelineComponentMetadata
- PipelineComponentMetadata 是 已管道的形式构建元数据源
- 你会发现每一个包内的数据源和目标都被PipelineComponentMetadata包裹


体系结构(二)
SSIS的核心部分就是包(package)的概念。包是一个可用来编写工作流和业务逻辑的可执行程序。从本质上讲,包是一个以循序渐进的方式执行的任务集、同时包还是一个执行和开发单元。
包的核心就是控制流(Control Flow), 它协调包中所有组件的执行顺序;控制流由任务、优先约束、容器组成。任务可以被描述为一个独立的工作单元,可以是一条SQL语句、一个存储过程等。优先约束是用来指示任务按照给定顺序执行的包组件,约束状态有:成功、完成、失败。容器主要用来将任务集合在一起执行,容器就像一个盒子。
控制流就是SSIS的大脑,数据流就是SSIS的心脏。数据流将数据提取到服务器内存中,转换数据并将数据写入到另一个目标。数据流由源、转换、目标组成;源是数据流设计界面的第一个组件,它会向下游组件发送数据。转换是数据流中的关键组件,容许它对数据管道中的数据进行修改。目标在数据流离开最后一个转换组件后数据流就开始流入目标数据库中。
SSIS体系结构中还提供了变量、参数、错误处理、日志记录

了解了SSIS体系结构那具体任务包含哪些任务、哪些容器、能连接哪些源、能做哪些数据转换、转换完成的数据能保存到哪些目标中;(下图是更加细化的SSIS体系结构)

开发流程
SSIS开发流程
1.配置数据源 :创建接数据源和目标源的连接管理器。
2.新建包:根据业务划分和数据处理,创建相应的管理包。
3.选择控制流:根据数据处理选择能使用的任务组件。
4.处理数据流:根据数据清洗选择能使用的清洗转换组件。
5.部署:把完成的解决方案部署到SSIS服务器上。
6.执行计划:通过作业让SSIS 包自动按时执行。
7.邮件监控:邮件预警通知,任务计划执行结果步骤。

命名规范
SSIS命名规范
1.连接管理器:数据源(S_服务器IP_数据库),目标源(T_服务器IP_数据库)
2.包:已数字 开头 ODS_01_业务处理名、 DW_01_业务处理名 通常情况按照业务的先后顺序创建包
3.控制流:根据业务处理步骤命名 通常已 表名_中文名(Dim_Fund_款项类型),尽量简短表明这个组件做的事情
4.数据流:已数据源开始,目标源结束,中间可以通过数据清洗组件转换数据,命名一般都使用默认名
5.作业计划:作业步骤名与SSIS包名一样命名

开发规范
SSIS开发规范根据应该企业内部开发习惯进行管理,这里列几个常用的规范:
1.数据类型:整数(int) ,金额、面积(numeric(18, 2)), 字符串(长度超过20的使用 nvarchar(32)/nvarchar(64/128)),日期((20180101)int)
2.串行并行:并行:当SSIS包中各个控制流数据没有相互依赖,可以进行并行加快数据处理速度;串行:当SSIS包中各个控制流数据相互依赖,必须进行串行处理数据
3.业务难度:在处理复杂业务数据清洗转换时,普通的SQL语句已经支撑不了这个业务的处理,可以使用存储过程分段处理;如:地产进度管理、库存周转率。

历史文章:
FocusBI: 使用Python爬虫为BI准备数据源(原创)
FocusBI关注者
FocusBI:SSAS体系结构(原创)
FocusBI:租房分析&星型模型
FocusBI:地产分析&雪花模型
FocusBI:MDX检索多维模型
FocusBI:租房分析可视化(网址体验)
FocusBI: 《DW/BI项目管理》之数据库表结构 (原创)
FocusBI: SSIS体系结构(原创)的更多相关文章
- FocusBI:SSAS体系结构(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. SSAS是微软BI组件系列中最核心的组件,商业智能的心脏所有的数据都从这里统一输出,它能把 ...
- FocusBI: SSIS 开发案例(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
- FocusBI: 总线矩阵(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
- FocusBI: 微软商业智能教程目录介绍(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
- FocusBI:《DW/BI项目管理》之SSIS执行情况
微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...
- FocusBI: 《DW/BI项目管理》之数据库表结构 (原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
- FocusBI: 数据仓库 (原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
- FocusBI: 商业智能场景(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.co ...
- FocusBI: 使用Python爬虫为BI准备数据源(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...
随机推荐
- delphi实现窗体组建随窗体大小改变而改变
在网上查了许多资料去论述如何在dephi中去实现组件随窗口大小的变化而变化,然都不尽如人意.有人说用组件的align + anchors 这两个属性去控制,但是我用了之后,让我大惊失色.把anchor ...
- mysql数据库使用sql查询数据库大小及表大小
网上查了很多资料,最后发现一个可行的,分享如下: 数据库大小查询: select concat(round(sum(DATA_LENGTH/1024/1024),2),'M') from inform ...
- [LeetCode 题解]:Path Sum
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a bi ...
- [LeetCode 题解]: Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- Transaction And Lock--常用的查询事务和锁的语句
--===================================================== --查看当前运行事务 SET TRANSACTION ISOLATION LEVEL R ...
- 从hive将数据导出到mysql(转)
从hive将数据导出到mysql http://abloz.com 2012.7.20 author:周海汉 在上一篇文章<用sqoop进行mysql和hdfs系统间的数据互导>中,提到s ...
- 基于python+selenium的框架思路
设想: 1.使用excel编写用例第一个sheet页为用例概要格式如下: 后面的sheet页为具体的用例步骤: 实现所有定位信息都与测试代码分离 2.读取该excel文件取出关键字等信息,作为关键字的 ...
- 使用st link v2向stm32下载和调试程序
st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿 ...
- Major Performance Impacts
- Default opaque flags (3s) - Filter size (3s) - ??? (4s) - Image refresh performance (1s)
- OI题目类型总结整理
## 本蒟蒻的小整理qwq--持续更新(咕咕咕) 数据结构 数据结构 知识点梳理 数据结构--线段树 推荐yyb dalao的总结--戳我 以后维护线段树还是把l,r写到struct里面吧,也别写le ...