免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
用DataStage進行數(shù)據(jù)整合: 第 1 部分
數(shù)據(jù)整合的核心內容是從數(shù)據(jù)源中抽取數(shù)據(jù),然后對這些數(shù)據(jù)進行轉化,最終加載的目標數(shù)據(jù)庫或者數(shù)據(jù)倉庫中去,這也就是我們通常所說的 ETL 過程。IBM WebSphere DataStage 為整個 ETL 過程提供了一個圖形化的開發(fā)環(huán)境。

引言

傳統(tǒng)的數(shù)據(jù)整合方式需要大量的手工編碼,而采用 IBM WebSphere DataStage 進行數(shù)據(jù)整合可以大大的減少手工編碼的數(shù)量,而且更加容易維護。數(shù)據(jù)整合的核心內容是從數(shù)據(jù)源中抽取數(shù)據(jù),然后對這些數(shù)據(jù)進行轉化,最終加載的目標數(shù)據(jù)庫或者數(shù)據(jù)倉庫中去,這也就是我們通常所說的ETL過程。IBM WebSphere DataStage 為整個 ETL 過程提供了一個圖形化的開發(fā)環(huán)境。本文將從以下幾個方面來介紹 IBM WebSphere DataStage:

1. 數(shù)據(jù)源連接能力

2. 完備的開發(fā)環(huán)境

3. ETL Job 的并行執(zhí)行能力

4. 開發(fā)一個簡單的 ETL Job





回頁首


出色的數(shù)據(jù)源連接能力

數(shù)據(jù)整合工具的數(shù)據(jù)源連接能力是非常重要的,這將直接決定它能夠應用的范圍。IBM WebSphere DataStage 能夠直接連接非常多的數(shù)據(jù)源,包括:

1、 文本文件

2、 XML 文件

3、 企業(yè)應用程序,比如 SAP、Siebel、Oracle 以及PeopleSoft

4、 幾乎所有的數(shù)據(jù)庫系統(tǒng),比如 DB2、Oracle、SQL Server、Informix等

5、 Web services

6、 WebSphere MQ

正是因為這么好的連接能力,IBM WebSphere DataStage 使用戶能夠專注于數(shù)據(jù)轉換的邏輯而不用太擔心數(shù)據(jù)的抽取和加載。





回頁首


完備的開發(fā)環(huán)境

IBM WebSphere DataStage 的開發(fā)環(huán)境是基于 C/S 模式的,通過 DataStage Client 連接到DataStage Server 上進行開發(fā)。這里有一點需要注意,DataStage Client 只能安裝在 Windows 平臺上面。而 DataStage Server 則支持多種平臺,比如 Windows、Redhat Linux、AIX、HP-UNIX。

DataStage Client 有四種客戶端工具。分別是 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director。接下來首先介紹這幾種客戶端工具在 DataStage 架構中所處的位置以及它們如何協(xié)同工作來開發(fā) ETL Job 的,接著再分別詳細介紹每個工具的功能。

圖 1 描述了 IBM WebSphere DataStage 的整個系統(tǒng)架構。DataStage 的客戶端工具連接到DataStage Server 上進行 ETL Job 的開發(fā),DataStage Server 再與后臺的數(shù)據(jù)庫連接起來進行數(shù)據(jù)處理。DataStage 的客戶端工具之間的是一個相互合作的關系。下面通過介紹 ETL Job的開發(fā)過程來介紹他們之間的這種關系。

ETL Job開發(fā)流程

1. 用 DataStage Administrator 新建一個項目;

2. 用 DataStage Designer 連接到這個新建的項目上進行ETL Job的設計;

3. 用 DataStage Director 對設計好的ETL Job設置運行的模式,比如多長時間運行一次ETL Job;

4.用 DataStage Manager 進行ETL Job的備份等。


圖 1:IBM WebSphere DataStage 架構圖

DataStage Administrator

DataStage Administrator 的主要功能有以下幾個:

1. 設置客戶端和服務器連接的最大時間。

以管理員的身份登陸 DataStage Administrator。你就會看到如下圖所示的畫面。在這里你可以設置客戶端和服務器的最大連接時間,默認的最大連接時間是永不過期。最大連接時間的意思就是如果客戶端和服務器的連接時間超過了最大連接時間,那么客戶端和服務器之間的連接將被強行斷開。



2. 添加和刪除項目

在 Projects 這個標簽中,可以新建或者刪除項目,以及設置已有項目的屬性。這里有必要介紹一下項目的概念,要用 DataStage 進行 ETL 的開發(fā),首先就要用 DataStage Administrator 新建一個項目,然后在這個項目里面進行 ETL Job 的開發(fā)。



3. License的管理

可以在Licensing標簽中更新License。



DataStage Designer

DataStage Designer是ETL Job開發(fā)的核心環(huán)境。值得注意的是,登陸DataStage Designer 的時候,不僅要指定DataStage Server 的IP,而且要指定連接到這個DataStage Server上的哪個項目上面,上面已經提到DataStage的項目是由DataStage Administrator 來創(chuàng)建的。DataStage Designer的主要功能可以概括為以下三個方面:

1. ETL Job的開發(fā)

DataStage Designer里面包含了DataStage為ETL開發(fā)已經構建好的組件, 主要分為兩種,一種是用來連接數(shù)據(jù)源的組件,另一種是用來做數(shù)據(jù)轉換的組件。利用這些組件,開發(fā)人員可以通過圖形化的方式進行ETL Job的開發(fā)。

2. ETL Job的編譯

開發(fā)好ETL Job后,可以直接在DataStage Designer里面進行編譯。如果編譯不通過,編譯器會幫助開發(fā)人員定位到出錯的地方。

3. ETL Job的執(zhí)行

編譯成功后,ETL Job就可以執(zhí)行了,在DataStage Designer里面可以運行ETL Job。ETL Job的運行情況可以在DataStage Director中看到,這方面的內容將在介紹DataStage Director的時候提到。

DataStage Manager

DataStage Manager主要用來管理項目資源。一個項目可能包含多個ETL Job,可以用DataStage Manager把一個項目里面的ETL Job導出來。然后再用DataStage Manager導入到另外一個項目中去,利用這個功能一方面可以實現(xiàn)ETL Job的備份,另一方面就是可以在多個項目之間來重復使用開發(fā)好的ETL Job。在DataStage Manager里面可以把數(shù)據(jù)庫中的表結構直接導入到項目中來,供這個項目中的所有ETL Job使用。DataStage Designer也提供了從數(shù)據(jù)庫中直接導入表結構的功能。

DataStage Director

DataStage Director 主要有以下兩個功能:

1. 監(jiān)測ETL Job的運行狀態(tài)

ETL Job在DataStage Designer中編譯好后,可以通過DataStage Director來運行它。前面在介紹DataStage Designer的時候提到在DataStage Designer中也可以運行ETL Job,但是如果要監(jiān)測ETL Job的運行情況還是要登陸到DataStage Director中。在這里,你可以看到ETL Job運行的詳細的日志文件,還可以查看一些統(tǒng)計數(shù)據(jù),比如ETL Job每秒所處理的數(shù)據(jù)量。

2. 設置何時運行ETL Job

ETL Job開發(fā)完成后,我們可能希望ETL Job在每天的某個時間都運行一次。DataStage Director為這種需求提供了解決方案。在DataStage Director中可以設置在每天、每周或者每月的某個時間運行ETL Job。





回頁首


ETL Job的并行執(zhí)行

ETL Job的并行執(zhí)行是IBM WebSphere DataStage企業(yè)版的一大特色。ETL Job開發(fā)好以后,可以在多臺裝有DataStage Server的機器上并行執(zhí)行,這也是傳統(tǒng)的手工編碼方式難以做到的。這樣,DataStage就可以充分利用硬件資源。而且,當你的硬件資源升級的時候也不用修改已經開發(fā)好的ETL Job,只需要修改一個描述硬件資源的文件即可。并行執(zhí)行能力是DataStage所能處理數(shù)據(jù)的速度可以得到趨近于線性的擴展,輕松處理大量數(shù)據(jù)





回頁首


開發(fā)一個簡單的ETL Job

我們將要開發(fā)一個非常簡單的ETL Job,使大家對用DataStage進行ETL開發(fā)有一個總體的認識。將要開發(fā)的ETL Job是把DB2數(shù)據(jù)庫Source中的表employee的內容導入到另外一個DB2數(shù)據(jù)庫Target中的表employee中去。其中兩個數(shù)據(jù)庫中的employee表的結構是相同的。employee表的結構為:



這里需要說明的是,DB2數(shù)據(jù)庫的Client端必須和DataStage Server裝在同一臺機器上面。如果要連接的DB2數(shù)據(jù)庫的Server和DataStage Server不在同一臺機器上面,那么就需要先用和DataStage Server裝在同一臺機器上的DB2的Client端提供的工具"配置助手"把要連接的數(shù)據(jù)庫添加到DB2的Client端當中。這就為DataStage連接該數(shù)據(jù)庫做好了準備。另外一點需要注意的是,如果你的DataStage Server是安裝在Windows上的,那么做完上面所描述的事情后就可以用DataStage連接DB2數(shù)據(jù)庫了,但是如果你的DataStage Server是安裝在Linux或者Unix上面的,你還需要配置DataStage的一個名字叫dsenv文件。因為我們的例子當中DataStage Server是運行在Linux上面的。我們將以Linux為例講述dsenv文件的配置方法。

1. 配置dsenv文件(Linux環(huán)境)

dsenv文件是主要是用來存放環(huán)境變量的,這些環(huán)境變量包含了DataStage要用到的類庫,以及要連接的數(shù)據(jù)庫的安裝的路徑等。dsenv文件位于位于文件夾 $DataStage/DSEngine里面,$DataStage/是DataStage的安裝目錄,例如:/home/dsadm/Ascential/DataStage/。

打開dsenv文件,在文件的最后加上如下內容:


DB2DIR=/opt/IBM/DB2/V8.1;export DB2DIR            DB2INSTANCE=db2inst1; export DB2INSTANCE            INSTHOME=/home/db2inst1;export INSTHOME            PATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/misc            export PATH            LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTHOME/sqllib/lib;export LD_LIBRARY_PATH            THREADS_FLAG=native;export THREADS_FLAG            

這些環(huán)境變量用來描述DB2的安裝路徑、DB2的實例、以及DB2類庫的路徑。配置好這些環(huán)境變量后,我們就可以用DataStage連接DB2了。下面我們正式進入開發(fā)環(huán)節(jié)。

2. 新建項目

(1)用DataStage Administrator登錄到DataStage Server。Host system是安裝DataStage Server的主機,輸入它的IP地址或者主機名。另外再輸入用戶名和密碼后,單擊按鈕"OK";



(2)登錄后,在標簽Projects中可以看到目前這個DataStage Server上面所有的項目。單擊按鈕"Add"新建一個項目;



(3)在彈出的對話框中輸入項目名SampleProject,項目存儲的默認路徑是DataStage安裝路徑的Projects目錄下面,你可以通過單擊按鈕"Browse"來改變默認路徑。注意不要鉤上選擇框"Create protected project",因為如果鉤上的話你所創(chuàng)建的工程將沒辦法被改變。單擊按鈕"OK";



(4)你會看到在項目列表里面已經有了我們剛創(chuàng)建好的項目SampleProject,單擊按鈕"Close"關閉DataStage Administrator;



(5)用DataStage Designer登陸到DataSatge Server,輸入DataStage Server的IP或主機名以及用戶名和密碼,并指定Project為我們剛才創(chuàng)建的項目SampleProject。單擊按鈕"OK";



(6)在DataStage Designer當中單擊File‘New去創(chuàng)建一個新的ETL Job;



(7)選擇"Parallel Job",單擊按鈕"OK";



(8) 一個新的ETL Job已經創(chuàng)建了,單擊工具欄上的圖標"保存",或者用快捷鍵"Ctrl+S"來保存,這時候一個保存ETL Job的對話框會彈出來;



(9)在彈出的對話框中。在Job name一欄輸入"SampleJob",在Category中輸入"Sample"。單擊按鈕"OK";



(10) 保存好剛創(chuàng)建的ETL Job后,我們用DataStage Designer來導入數(shù)據(jù)庫的表結構。在DataStage Designer的左下方的Repository中右鍵單擊"Table Definition"。然后選擇 Import‘Pug-in Meta Data Definitions…;



(11)在彈出的對話框中選擇DSDB2,單擊按鈕OK;



(12) 在彈出的對話框中,Server Name選擇Source。輸入用戶名和密碼,再鉤上Tables選擇框之后單擊按鈕Next;



(13)選擇表employee,把要保存到的目錄改成PlugIn\Source。然后單擊按鈕 Import.;



(14)重復步驟 10-13把存儲在Target數(shù)據(jù)庫中的表employee的表結構導入進來,這次存放的路徑改成PlugIn\Target。完成后,你會在Repository中看到你導入的表結構;



(15)從左邊的palette中拖入兩個DB2/UDB API Stage到右邊的面板上。DB2/UDB2 API Stage是用來連接DB2數(shù)據(jù)庫的,我們這兩個DB2/UDB API Stage一個用來連接數(shù)據(jù)庫source,另一個用來連接數(shù)據(jù)庫Target;



(16)右鍵單擊左邊的DB2/UDB API Stage不要放開,一直拖拽鼠標到右邊的DB2/UDB2 API Stage上面。這時候在這兩個Stage之間會出現(xiàn)一條連線,代表了數(shù)據(jù)的流向。下面我們將配置這兩個Stage的屬性;



(17)左鍵雙擊左邊的DB2/UDB API Stage,會彈出如下圖所示的屬性框。在標簽Stage的子標簽General中,設置Stage name為Source,Server name為Source,User ID和 Password設置為右權限訪問這個數(shù)據(jù)庫的用戶名和密碼。Transaction Isolation的默認的選項是Cursor Stability,保持默認選項然后單擊標簽Output;



(18)在標簽Output的子標簽General中,輸入Table names為employee,并在Query type下拉框中選擇Generated SQL Query。這樣DataStage會自動幫你生成大部分的SQL代碼。然后單擊子標簽Columns;



(19)在Columns子標簽中單擊按鈕Load去導入剛才從數(shù)據(jù)庫中導進來的表結構;



(20)在彈出的對話框中選擇目錄PlugIn\Source中的表結構employee,然后單擊按鈕OK;



(21) 在彈出的對話框中選擇要導入的表的列,默認是全選,保持默認并單擊按鈕OK;



(22) 這時候你會看到表的字段已經被導入進來。單擊子標簽SQL;



(23) 在子標簽SQL中,你會看到系統(tǒng)自動生成的SQL語句。單擊按鈕 View Data查看表employee中的數(shù)據(jù);



(24)當前employee表中有兩條數(shù)據(jù)。單擊按鈕Close關掉數(shù)據(jù)查看窗口;



(25)現(xiàn)在我們開始編輯用來連接目標數(shù)據(jù)庫的DB2/UDB API Stage的屬性。雙擊這個Stage,彈出的屬性設置窗口如下圖所示。在標簽Stage的子標簽General中,Stage name設置為Target,Server name設置為Target,User ID和Password分別設置為有權限對Target數(shù)據(jù)庫進行操作的用戶名和密碼。其他屬性保持默認值,然后單擊標簽Input;



(26)在標簽Input的子標簽General中,設置Table name為employee,Update action選擇 Insert rows without cleaning。Create table action選擇Do not create target table。然后單擊子標簽Columns;



(27)在子標簽Columns中,你會發(fā)現(xiàn)已經有表結構load進來了,這個表結構是和source數(shù)據(jù)庫中的employee表的結構一致的。單擊按鈕OK并保存ETL Job;



(28)在工具欄中單擊圖標"編譯"對剛開發(fā)完的ETL Job進行編譯;



(29)編譯過程中會彈出一個對話框顯示編譯的進行情況。最終ETL Job編譯成功后對話框中會顯示如下圖中所示的消息:"Job successfully compiled with no errors";



(30)編譯成功后,我們打開DataStage Director來運行我們開發(fā)的ETL Job。從DataStage Designer中打開DataStage Director的方法為:從菜單欄中選擇Tools‘Run Director;



(31)打開DataStage Director后你會在Sample目錄下面發(fā)現(xiàn)我們開發(fā)好的ETL Job SampleJob,狀態(tài)為Compiled。選擇SampleJob,然后單擊工具欄中的"運行"按鈕;



(32)在彈出的對話框中可以設置運行的參數(shù),比如出現(xiàn)多少個warning后ETL Job會自動中止掉。我們保持這個對話框中的默認設置,單擊按鈕Run;



(33) 這時候你會注意到SampleJob的狀態(tài)從Compiled變成了Running,等到SampleJob的狀態(tài)變成Finished后,該ETL Job的運行就結束了;



(34)如下圖所示,SampleJob的狀態(tài)變成了Finished。SampleJob成功結束運行;



(35)到DataStage Designer中,用View Data功能查看目標數(shù)據(jù)庫Target中employee表中的數(shù)據(jù)。你會發(fā)現(xiàn)和源數(shù)據(jù)庫source中的employee表中的數(shù)據(jù)是一樣的。也說明我們開發(fā)的ETL Job成功的完成了我們想要它完成的任務。







回頁首


總結

本文首先介紹IBM WebSphere DataStage在數(shù)據(jù)源連接能力以及并行執(zhí)行能力兩方面的特性,接著介紹了它的開發(fā)環(huán)境。最后用一個簡單的ETL Job演示了用IBM WebSphere DataStage進行ETL開發(fā)的過程,使大家對這個過程有了一個比較清楚的了解。IBM WebSphere DataStage提供的圖形化的環(huán)境使我們更容易進行開發(fā)和維護。



關于作者

 

周登朋,上海交通大學研究生,熟悉DB2, IBM WebSphere DataStage. 對數(shù)據(jù)整合以及Java技術非常感興趣。 Email:zhoudengpeng@yahoo.com.cn

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
kettle
ETL工具(數(shù)據(jù)倉庫)
SQL2005的SSIS與Oracle的遷移性能
主流ETL工具選型
ETL常用的三種工具介紹及對比Datastage,Informatica
IBM Infosphere Data Replication 產品族 Replication Server 與 Change Data Capture 的異同比較
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服