首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Integration Services:資料流程任務(上)—— 從零建立第一個 ETL 封裝

     編輯:關於.NET

資料流程任務是 SSIS 核心,幾乎所有 ETL 封裝都離不開它。它由三類元件組成:

  • 來源:關聯式資料表/檢視、檔案(平面檔、Excel、XML)、記憶體資料集等
  • 轉換:ETL 核心中的核心,含更新、彙總、合併、分發、排序、查找等豐富功能
  • 目的地:資料表/檢視、檔案、多維資料集、記憶體記錄集等

資料流向以「流」(綠色/紅色箭頭)連接,可檢視資料、加註說明。

來源-轉換-目的地關係圖

實作範例:匯入 IIS Log 到資料庫

1. 檢視 IIS Log 結構

IIS Log 結構

記錄日期、時間、用戶 IP、伺服器 IP、頁面 URL、參數、狀態碼、User-Agent、Referer 等。

2. 建立對應資料表

CREATE TABLE [dbo].[IisLog] (
    [c_Date] [datetime] NULL, [c_Time] [varchar](10) NULL, [c_Ip] [varchar](20) NULL,
    [cs_Username] [varchar](20) NULL, [s_Ip] [varchar](20) NULL, [s_ComputerName] [varchar](30) NULL,
    [s_Port] [varchar](10) NULL, [cs_Method] [varchar](10) NULL, [cs_Uri_Stem] [varchar](500) NULL,
    [cs_Uri_Query] [varchar](500) NULL, [sc_Status] [varchar](20) NULL, [sc_SubStatus] [varchar](20) NULL,
    [sc_Win32_Status] [varchar](20) NULL, [sc_Bytes] [int] NULL, [cs_Bytes] [int] NULL,
    [time_Taken] [varchar](10) NULL, [cs_Version] [varchar](20) NULL, [cs_Host] [varchar](20) NULL,
    [cs_User_Agent] [varchar](500) NULL, [cs_Refere] [varchar](500) NULL
) ON [PRIMARY]

3. 建立 SSIS 專案與資料流程任務

Visual Studio 2008 → Integration Services 專案 → 拖曳「資料流程任務」到控制流面板 → 雙擊進入資料流面板。

控制流面板

4. 設定平面檔案來源

  • 拖曳「平面檔案來源」,雙擊 → 「新增」連線管理員
  • 選擇 IIS Log 檔案,設定列/行分隔符(預覽確認欄位對齊)
  • 平面檔案連線管理員
  • 「進階」頁簽定義每欄名稱、資料類型、長度
  • 選擇需輸出的欄位
  • 選擇輸出欄位
  • 錯誤輸出設為「忽略失敗」(IIS Log 常有髒資料,避免整包失敗)
  • 錯誤輸出設定

5. 設定 OLE DB 目的地

  • 拖曳「OLE DB 目的地」,以綠箭頭連接平面檔案來源
  • 雙擊 → 新增資料庫連線 → 選擇「資料表或檢視 - 快速載入」→ 對應目標資料表
  • OLE DB 目的地編輯器 選擇目標資料表
  • 設定欄位對應(來源欄位 → 目標欄位)
  • 欄位對應
  • 錯誤處理同樣設「忽略失敗」

6. 執行驗證

點擊執行,出現全綠燈即成功:

執行成功畫面

這只是入門 Demo,真實 ETL 需大量轉換邏輯。下一篇將深入「資料流程轉換」精華內容。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved