一步一步學習BI(1)-認識Integration Services

來源:互聯網
上載者:User
文章目錄
  • 轉換

Integration Services 是用於產生高效能資料整合和工作流程解決方案(包括針對資料倉儲的擷取、轉換和下載 (ETL) 操作)的平台。

Integration Services 包括產生並調試包的圖形工具和嚮導;執行如 FTP 操作、SQL 陳述式執行和電子郵件訊息傳遞等工作流程功能的任務;用於提取和載入資料的資料來源和目標;用於清理、彙總、合并和複製資料的轉換;管理服務,即用於管理 Integration Services 包的 Integration Services 服務;以及用於對 Integration Services 物件模型編程的應用程式介面 (API)。

1.安裝完SQL Server 2008 後,在“Microsoft SQL Server 2008” 程式目錄下有一個 “SQL Server Business Intelligence Development Studio” 啟動。

 

2.啟動“SQL Server Business Intelligence Development Studio”後,在“New Project” 快顯視窗中左邊的Project types中選擇“Business Intelligence Projects” 在右邊的Templates 中選擇Integration Services Project .

3.在建立的Integration Services Project工程中我們發現在Solution Explorer中的目錄結構如下,我們來認識一下:

 

Data Sources: 資料來源,包含可供多個包引用的項目級資料來源。

Data Sources Views: 資料來源檢視,包含在資料來源上構建,並可供源,轉換,目標引用的資料來源檢視。

SSIS Packages: SSIS 包。包是一個有組織的集合,其中可包括串連、控制流程元素、資料流元素、事件處理常式、變數和配置,您可使用 SQL Server Integration Services 提供的圖形設計工具或以編程產生方式將這些對象組合到包中。然後,您可將完成的包儲存到 SQL Server、SSIS 包儲存區或檔案系統中。包是可被檢索、執行和儲存的工作單元。首次建立包後,包是一個Null 物件,不能實現任何功能。若要向包添加功能,可向包添加一個控制流程,還可選擇添加一個或多個資料流。以下關係圖顯示了一個簡單包,其中包含一個帶有資料流程工作的控制流程,而資料流程工作中又包含資料流。

Miscellaneous:雜項,包含除了源檔案、資料來源檢視檔案或包檔案以外的檔案。

4.從3 的SSIS Packages的認識過程中,我們發現包裡主要是控制流程,控制流程是包含一個或多個在包運行時執行的任務和容器。若要控制包控制流程中的任務或容器的運行順序或定義運行條件,可使用優先順序條件約束來串連包中的任務和容器。還可以將任務和容器分組為子集,並在包控制流程中將其作為一個單元重複運行。就是控制流程的。左邊所示為“控制流程任務” 和“維護計劃任務”。我們在用Integration Services開始ETL的過程都將從一個控制流程任務開始,在控制流程任務中進行資料流操作。

控制流程任務:任務是一些控制流程元素,它定義包控制流程中執行的工作單元。SQL Server Integration Services 包由一個或多個工作群組成。如果包中包含多個任務,則它們將按照優先順序條件約束在控制流程中進行串連和排序。

維護計劃任務:SQL Server Integration Services 中包含了一組執行資料庫維護功能的任務。這些任務通常用於資料庫維護計劃中,但也可以包含在 SSIS 包中。

5.從主工作區上的Table菜單Control Flow(控制流程設計視窗) 切換到 Data Flow(資料流設計視窗)。

SQL Server Integration Services 提供三種不同類型的資料流組件:源、轉換和目標。源從資料存放區區(如關聯式資料庫中的表和視圖、檔案以及 Analysis Services 資料庫)中提取資料。轉換修改、匯總和清除資料。目標將資料載入到資料存放區區,或建立記憶體中的資料集。此外,Integration Services 還提供將一個組件的輸出串連到另一個組件的輸入的路徑。路徑定義組件的序列,並允許您向資料流添加批註或查看列的源。以下關係圖顯示的資料流具有一個源、帶有一個輸入和一個輸出的轉換以及一個目標。除了輸入列、輸出資料行和外部列之外,該關係圖還包含輸入、輸出和錯誤輸出。

在 Integration Services 中,源是使資料流中的其他組件可以訪問來自不同外部資料源的資料的資料流組件。

資料流的源通常具有一個常規輸出。常規輸出包含輸出資料行,這些輸出資料行是由源添加到資料流中的。

常規輸出引用外部列。外部列是源中的列。例如 AdventureWorks 資料庫的 Product 表中的 MadeFlag 列是可以添加常規輸出的外部列。外部列的中繼資料套件含諸如源列的名稱、資料類型和長度等資訊。

源的錯誤輸出包含與常規輸出相同的列,此外,還包括提供有關錯誤資訊的兩個額外列。Integration Services 物件模型不限制源可擁有的常規輸出和錯誤輸出的數目。除指令碼組件外,Integration Services 包含的大多數源都具有一個常規輸出,許多源具有一個錯誤輸出。對於自訂來源,可以通過編碼方式實現多個常規輸出和錯誤輸出。

所有輸出資料行都可用作資料流中下一個資料流組件的輸入列。

轉換

轉換的功能非常廣泛。轉換可以執行如更新、匯總、清除、合并和分發資料等任務。

轉換的輸入和輸出定義傳入和傳出資料的列。根據對資料執行的操作,一些轉換具有一個輸入和多個輸出,而其他轉換具有多個輸入和一個輸出。轉換還可以包含錯誤輸出,它們提供關於發生的錯誤以及失敗的資料的資訊,例如,無法轉換為整數類型的字串資料。Integration Services 物件模型不限制轉換可以包含的輸入、常規輸出和錯誤輸出的數目。您可以建立自訂轉換,這些轉換可實現多個輸入、常規輸出和錯誤輸出的任意組合。

轉換的輸入被定義為一個或多個輸入列。某些 Integration Services 轉換還可以引用外部列作為輸入。例如 OLE DB 命令轉換的輸入包含外部列。輸出資料行是轉換添加到資料流的列。常規輸出和錯誤輸出都包含輸出資料行。這些輸出資料行轉而充當資料流中下一個組件(其他轉換或目標)的輸入列。

 

目標 

目標是將資料流中的資料寫入特定資料存放區區或建立記憶體中的資料集的資料流組件。

一個 Integration Services 目標必須具有至少一個輸入。輸入包含來自其他資料流組件的輸入列。輸入列映射到目標中的列。

許多目標還具有一個錯誤輸出。目標的錯誤輸出包含輸出資料行,該輸出資料行通常包含向目標資料存放區區寫入資料時發生的錯誤資訊。錯誤的發生有許多不同的原因。例如,列可能包含空值,而目標列不能設定為空白值。

Integration Services 物件模型不限制目標可包含的常規輸入和錯誤輸出的數目,因此,您可以建立具有多個輸入和多個錯誤輸出的自訂目標。

今天主要是熟悉了一下我們的工作環境和相關的知識概念。下一次我們將開始做一個簡單的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.