Infosphere Datastage的擴充方法應用實踐

來源:互聯網
上載者:User

我們知道, Infosphere Datastage 是一個功能強大的資料幫浦、轉換、裝載工具,廣泛用於使用者資訊整合項目之中。它不僅提供了豐富的資料介面,可以串連種類廣泛的大型主機、資料庫、ERP/CRM 等公司專屬應用程式及外部資訊資源,它還提供了幾十個資料轉換 stage 及上百個資料轉換函式,可以滿足我們資料轉換的需求,其中,比較常用的 Stage 主要包括:

用於資料來源及目標的 stage:各種資料庫的 connector、sequential file、data set

用於資料合併的 stage: lookup、joins、Merge、Aggregator

用於資料轉換的 stage: transformer、Remove Duplicates

輔助的 stage: Row Generator、Peek、Sort

通常來說,階段提供絕大多數企業資料整合應用所需的 80% 到 90% 的應用邏輯,同時,InfoSphere DataStage 也提供了 c++ 及 java 編程介面,允許我們開發、擴充滿足特定需求的轉換功能。

從底層技術架構來看,Infosphere Datastage 提供了一個並行、可擴充的應用程式框架,如下圖所示,該並行、可擴充的應用程式框架主要由四個部分組成:應用組件、應用程式框架、設定檔及應用服務。每一個應用組件完成資料處理及應用分析的不同功能。其中:

圖 1. Datastage 並行擴充應用程式框架

應用組件:是實現應用處理邏輯的基本處理單元,包括同資料庫的介面、資料連線操作、分析、排序、分組彙總操作等,所有這些應用元件連線在一起來完成資料處理應用操作。該並行、 可擴充的應用程式框架還允許使用者通過封裝已有應用、開發 c/c++ 應用程式來定製自己的應用處理組件,所有這些組件均可以被複用,並且提供平行處理能力。

通常來說,階段提供絕大多數企業資料整合應用所需的 80% 到 90% 的應用邏輯,同時,InfoSphere DataStage 也提供了 c++ 及 java 編程介面,允許我們開發、擴充滿足特定需求的轉換功能。

應用程式框架:用來構建平行處理應用。使用者可以通過圖形介面或命令列方式,選擇各種處理組件,並將這些組件順序串連在一起來實現各種處理流程。在內部,應用程式框架會自動實現作業的平行處理操作,包括負載平衡、分區間通訊、資料模式處理、多線程操作及資料緩衝操作等。使用者不需要關心平行處理編程方法來實現平行處理效率,這些完全由應用程式框架自動完成。

設定檔:用來指定資料處理應用在不同硬體平台上的平行處理能力。一般情況下,使用者自己開發的應用程式,其應用邏輯及硬體平台編碼往往交織在一起,因此,很難在不同硬體平台之間遷移。Infosphere Datastage 通過設定檔來隔離硬體平台編碼,因此,可以通過改變更配置置檔案的設定來輕鬆實現不同平台間應用遷移,而不需要改變應用邏輯。

應用服務:用來提供資料處理應用的運行時態管理,包括跨越多個 cpu 處理器作業的單一程式及單一操作符的控制,集中錯誤資訊的收集,效能監控,作業檢查點重啟控制等。

Infosphere Datastage 中所提供的各種 stage,在其並行、可擴充的應用程式框架中都被影射成各種操作符(Operator),其中常見的一些 stage 所對應的操作符如下:

表 1. Datastage 操作符對照表
  Datastage stage Operator
  Sequential File – Source import
  Sequential File – Target export
  Data Set copy
  Sort tsort
  Aggregator group
  Row Generator, Column Generator,
Surrogate Key Generator
generator
  Oracle – Source oraread
  Oracle – Sparse lookup oralookup
  Oracle – Target load orawrite
  Join Innerjoin,
leftouterjoin,
rightouterjoin, Fullouterjoin

Infosphere Datastage  並行、可擴充的應用程式框架,通過資料分區、流水線及資料重分區等技術提供了高效的平行處理能力,充分保證資料整合的執行效率。所謂資料分區技術,就是通過雜湊散列演算法、資料輪訓操作、隨機操作等方式將資料分布到不同的資料分區,不同分區之間並行操作來提高資料處理效率。我們可以根據一台機器 CPU 的資料量及不同機器來設定資料分區的數量,比如,如果系統有 4 個 CPU,我們就可以將資料分布到 4 個資料分區上,理論上講, 執行效率是單分區的 4 倍;所謂流水線技術,就像生產流水線一樣,上一階段資料處理完成後,會通過記憶體立刻傳送到下一階段進行處理,資料不落地,不產生 I/O 操作,所以效率會更高,同時,它結合資料分區技術,可以保證在每一個資料分區之間不落地進行資料處理,實現高效、平行處理。所謂資料重分區技術,是指可以根據資料處理的要求,重定義資料分區,盡量保證資料均勻分布到不同的資料分區,實現所謂 co-location 操作,即資料連線等操作儘可能在同一個資料分區內完成,這樣執行效率最高。Infosphere Datastage 中所提供的所有資料處理 stage 都基於該並行、可擴充的應用程式框架進行開發的,所以,所有資料處理 stage 都提供平行處理能力。

另外,Infosphere Datastage  並行、可擴充的應用程式框架還提供了非常靈活的可擴充能力,我們可以通過多種方式非常方便地開發自己特定的處理功能。在 Infosphere Datastage 中,擴充方法主要包括以下幾種方法:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.