關注微信公衆號:FocusBI 查看更多文章;加QQ羣:808774277 獲取學習資料和一塊兒探討問題。html
《商業智能教程》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容許數據流更快的執行。post
如何確認SSIS處理數據時使用的是管道,性能
SSIS的核心部分就是包(package)的概念。包是一個可用來編寫工做流和業務邏輯的可執行程序。從本質上講,包是一個以按部就班的方式執行的任務集、同時包仍是一個執行和開發單元。學習
包的核心就是控制流(Control Flow), 它協調包中全部組件的執行順序;控制流由任務、優先約束、容器組成。任務能夠被描述爲一個獨立的工做單元,能夠是一條SQL語句、一個存儲過程等。優先約束是用來指示任務按照給定順序執行的包組件,約束狀態有:成功、完成、失敗。容器主要用來將任務集合在一塊兒執行,容器就像一個盒子。大數據
控制流就是SSIS的大腦,數據流就是SSIS的心臟。數據流將數據提取到服務器內存中,轉換數據並將數據寫入到另外一個目標。數據流由源、轉換、目標組成;源是數據流設計界面的第一個組件,它會向下遊組件發送數據。轉換是數據流中的關鍵組件,允許它對數據管道中的數據進行修改。目標在數據流離開最後一個轉換組件後數據流就開始流入目標數據庫中。url
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準備數據源(原創)