一步一步學習BI(2)-Integration Services簡單ETL工程

來源:互聯網
上載者:User

說明:學習本文需要建立在對Integration Services基本瞭解的基礎上,如果沒有任何瞭解,請參考一步一步學習BI(1)-認識Integration Services

 

目標:將一個文字檔通過ETL工程匯入到Execl檔案中。

步驟:

1.建立一個IS工程。

2.雙擊“SSIS Packages”檔案夾下的Package.dtsx檔案(這個檔案就是包檔案)進入Control Flow的工作目錄。

3.從左邊的Toolbox中的Control Flow Items中拖拽Data Flow Task到工作區域。如所示:

 

4.雙擊這個從Control Flow Items從拽過來的Data Flow Task,進入到Data Flow工作面板中,注意工作區上方的Table菜單也跟著切換了。

5.在Data Flow工作區,我們從Toolbox中拽過來來源資料和目標資料空間。既然是從文字檔匯入到Execl檔案,那麼我們首先從Toolbox的Data Flow Sources中拽Flat File Source 到工作區,接著從Data Flow Destinations中拽Excel Destination到工作區。並將Flat File Source 的綠色箭頭指向Excel Destination. 這樣資料流程轉換也就按照我們的想法建立好了,如所示。

6. 流程圖畫好了,但是現在實際的資料是沒有的,同時我們也發現在Flat File Source 和Excel Destination上各有一個紅色的小叉(表明在這個ETL中存在錯誤,資料轉化會不成功的)。我們在進行開發的時候一定要非常注意這些明顯的錯誤提示。

7.添加資料來源,雙擊Flat File Source,後開啟了Flat File Source Editor的視窗,如所示:

 

8.在Flat File Source Editor的視窗中選擇建立一個Flat File connection manager(因為我們是第一次操作資料源,所以要建立,如果是之前建立過的話,那麼在Flat File connection manager 的下拉式功能表中會列出所有),彈出了Flat File connection manager Editor。 Connection manager name 取一個合適的名字,Descriptions中填寫一個針對這個串連的描述資訊。在File name點擊Browse,在這裡是要選擇一個檔案檔案了,但是我們沒有,沒有建立一個吧。

9.開啟Notepad,建立一個文字檔,命名為EtlTest.txt, 以UTF-8的格式儲存到工程檔案目錄下,文字檔建立後如所示。

 

10.有了資料來源了,現在從第8步中的Browse中我們剛才建立的這個文字檔。並在Code page中會自動識別為UTF-8格式的文字檔。在Header row Delimiter中我們選擇以“,”分隔。

 

選擇左邊的Preview,就能看到我們的分隔後的資料了。如:

11.選擇確認,確認回到了資料流設計的工作區域,發現我麼前面提到的在Flat File Source 上的紅色小叉沒有了,也就是說通過正確添加資料來源,資料來源控制項已經配置成功。接下來我們雙擊Excel Destination來編輯目標資料來源。在Excel Destination Editor中的OLE DB connection manager中選擇建立一個Excel 目標資料來源。在彈出的Excel Connection Manager視窗中我們需要選擇一個Excel檔案,沒有的話,Browse後在工程目錄下建立一個並選擇,回到Excel Connection Manager視窗 Excel Versions中會自動識別Excel版本類型。如所示。

12. 選擇OK, 回到Excel Destination Editor 視窗中,在Name of the Excel Sheet中為此次資料匯入選擇Execl活頁簿,我們選擇建立一個活頁簿,如所示。

 

完成後,確定回到工作流程設計視窗,這個時候發現我們前面提到的在Excel Destination上的紅色小叉並沒有去掉。將滑鼠移上去看看提示資訊是什麼……

發現是說:第0列的資料在類型轉化的過程中類型不符。不能在unicode 和non-unicode之間進行資料類型轉換。對與這種情況,我麼需要進行一個中間轉換。

13.從Toolbox中的Data Flow Transformations中拖拽一個Data Conversion到工作區,重新調整輸入輸出資料流。將Flat File Source的輸出作為Data Conversion 的輸入,將Data Conversion的輸出作為Excel Destination的輸入。目的就是通過Data Conversion 將資料轉化成為符合要求的資料(在實際的工程應用當中,我們會有很多工作需要通過Data Flow Transformations中的工具進行資料轉化後再給目標資料)。

14.雙擊Data Conversion組建,開啟後如。Input Column 中選擇需要處理的列名稱,Output Alias是輸出資料行的名稱,Data Type中選者需要轉換的類型。

 

15.轉換組建配置完成後我們需要重新調整編輯我們的Excel Destination。在Excel DEstionation Editor中的Mappings中調整對應關係。我們將通過Data Conversion 的輸出作為Input Column(輸入列),這裡我們還將第1列和第2列換了位置。

16.回到資料流設計視窗,發現這次在Excel DEstionation 組件上的紅色小叉不見了,運行ETL。激動人心的時刻終於來了,全部綠色通過,正確運行,趕快開啟Excel檔案看看去吧。呵呵。

 

總結:通過本次實驗我們基本掌握了Integration Services的基本原理和流程。在實際的BI項目當中,客戶現在的資料可能是各種各樣的:文字檔,Execl檔案,各種資料庫檔案…,通過Integration Services都是可以將其提取出來的。提取出來之後,很多資料是沒有什麼價值的,我們想要的是從海量的資料中抽取有價值的符合我們要求的資料,那麼這個過程就是轉化,需要通過轉化工具,演算法等大量BI技巧來做這些事情,最後才是產生有價值的目標資料。

 

本文中工程下載:Integration Services Project1 

下一次我們將進一步探討稍微複雜一些的ETL過程,祝大家學習愉快,希望本文對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.