数据仓库与数据挖掘 4(上)
SqlServer 2012 創(chuàng)建數(shù)據(jù)倉庫
開始實(shí)戰(zhàn)!很簡單的。沒有代碼,沒有代碼,沒有代碼!
對(duì)OnRet數(shù)據(jù)庫應(yīng)用SSIS,創(chuàng)建ETL包,設(shè)計(jì)開發(fā)對(duì)應(yīng)的數(shù)據(jù)倉庫
hive版本請(qǐng)看:點(diǎn)擊這里
實(shí)驗(yàn)環(huán)境
OS:win7
SqlServer2012
SQL Server Data Tools(SSDT) (SqlServer附帶)
SSIS(SSDT的項(xiàng)目,是Microsoft SQL Server Integration Services的簡稱,是生成高性能數(shù)據(jù)集成解決方案(包括數(shù)據(jù)倉庫的提取、轉(zhuǎn)換和加載 (ETL) 包)的平臺(tái))。
數(shù)據(jù)來源
OnRet數(shù)據(jù)庫:https://pan.baidu.com/s/1VFCbn9Dip3cRD4tHCBD-_Q
提取碼:whn7
下載后,打開sqlserver2012(我的版本)對(duì)象資源管理器SSMS
OnRet 數(shù)據(jù)庫為一個(gè)在線商城項(xiàng)目的數(shù)據(jù)庫。表格為
【請(qǐng)忽略我的標(biāo)記為1的表格】
這樣就完成了數(shù)據(jù)庫的導(dǎo)入了,教學(xué)較為簡單,只用這一個(gè)數(shù)據(jù)庫作為數(shù)據(jù)倉庫的來源。
設(shè)計(jì)、創(chuàng)建數(shù)據(jù)倉庫DW
選定一個(gè)感興趣的主題,設(shè)計(jì)多維模型。例如:以商品的銷售額和銷售量為主題設(shè)計(jì)的星型模型。
需要五個(gè)維表:Dates(時(shí)間),Locates(地點(diǎn)),Products(產(chǎn)品),Education(教育程度),Age(年齡)
一個(gè)事實(shí)表:sales(銷售)
在SqlServer中創(chuàng)建數(shù)據(jù)庫SDW存放數(shù)據(jù)倉庫。(這種方法較為簡單)
創(chuàng)建以上幾個(gè)表格
創(chuàng)建Integration Services項(xiàng)目
打開SSDT
SQL Server Data Tools(SSDT) 曾叫做Business Intelligence Development Studio(BIDS),是開發(fā)人員所需要的開發(fā)環(huán)境。它為SSIS,SSAS,SSRS的商業(yè)智能項(xiàng)目提供了可視的設(shè)計(jì)界面。從SQL Server 2014版本開始,該環(huán)境不再包含在SQL Server的安裝包內(nèi),需要另行安裝。
此外SSIS簡易教程請(qǐng)看:點(diǎn)擊這里
或者查找官網(wǎng):https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver15
并添加OLEDB連接管理器連接OnRet和SDW數(shù)據(jù)庫
最好使用sa賬號(hào),避免出錯(cuò)。
同樣的,對(duì)于輸出數(shù)據(jù)庫也添加連接
ETL過程就是從OnRet數(shù)據(jù)庫中抽取數(shù)據(jù),轉(zhuǎn)換,統(tǒng)一后存儲(chǔ)到SDW中。
開始ETL
時(shí)間維表
點(diǎn)擊SSIS右鍵創(chuàng)建SSIS包,設(shè)置數(shù)據(jù)流任務(wù),添加OLEDB源,設(shè)置為OnRet數(shù)據(jù)庫中的表。抽取Date數(shù)據(jù),將表設(shè)置為Sales,并在列中添加日期。
第一步,創(chuàng)建數(shù)據(jù)流任務(wù)
第二步,設(shè)計(jì)數(shù)據(jù)流任務(wù),雙擊數(shù)據(jù)流任務(wù),轉(zhuǎn)到數(shù)據(jù)流設(shè)計(jì)頁面:增加數(shù)據(jù)源(把對(duì)應(yīng)數(shù)據(jù)源的控件拖過來),雙擊進(jìn)入編輯頁面
訂單中的日期即為對(duì)應(yīng)的時(shí)間,需要將其抽取出來,劃分層次。
第三步 派生列
因?yàn)橹挥幸粋€(gè)列(屬性),我們希望時(shí)間是多層次的,所以添加派生列,并如圖配置。
雙擊組件進(jìn)入編輯,添加對(duì)應(yīng)的維成員。
第五步、 添加排序,去除時(shí)間維表的重復(fù)行
為了時(shí)間的唯一性,添加排序,去除重復(fù)行(多個(gè)訂單可能是同一天的)
同樣的方法,把排序組件拖過來,雙擊編輯
第六步 輸出到目標(biāo)倉庫維表中
添加OLEDB目標(biāo)(拖過來),設(shè)置輸出表為SDW的Dates表,并設(shè)置映射,部署之后就能得到結(jié)果。
映射中一一對(duì)應(yīng)。
輸入是數(shù)據(jù)來源,目標(biāo)列是SDW中Dates維表的屬性列,他們?cè)O(shè)置的數(shù)據(jù)類型必須一致。
第七步 點(diǎn)擊部署,即可。
地理維表
和上述過程基本一樣。
需要確定地理維度的來源:選取OnRet數(shù)據(jù)庫的Area表。
第一步 創(chuàng)建SSIS包,設(shè)置數(shù)據(jù)流任務(wù),添加OLEDB源。
雙擊數(shù)據(jù)流任務(wù)進(jìn)入數(shù)據(jù)流設(shè)計(jì)頁面,新增數(shù)據(jù)源(還是原來的設(shè)置)
添加OLEDB源后,選取OnRet數(shù)據(jù)庫的Area表,勾選除編號(hào)外所有可用外部列。
因?yàn)檫@里已經(jīng)包含了地區(qū)維層次,不必增加新成員,所以不需要派生。
添加OLEDB目標(biāo),設(shè)置輸出表為SDW的Locates表,并設(shè)置映射,部署之后就能得到結(jié)果。
部署即可。
其他的維表和事實(shí)表操作請(qǐng)看下一個(gè)數(shù)據(jù)倉庫與數(shù)據(jù)挖掘 4(下)。
參考
https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver15
https://baike.baidu.com/item/SSIS/5351898?fr=aladdin
總結(jié)
以上是生活随笔為你收集整理的数据仓库与数据挖掘 4(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。