国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

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

引言

傳統(tǒng)的數(shù)據(jù)整合方式需要大量的手工編碼,而采用 IBM WebSphere DataStage 進行數(shù)據(jù)整合可以大大的減少手工編碼的數(shù)量,而且更加容易維護。數(shù)據(jù)整合的核心內(nèi)容是從數(shù)據(jù)源中抽取數(shù)據(jù),然后對這些數(shù)據(jù)進行轉(zhuǎn)化,最終加載的目標(biāo)數(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ù)源連接能力是非常重要的,這將直接決定它能夠應(yīng)用的范圍。IBM WebSphere DataStage 能夠直接連接非常多的數(shù)據(jù)源,包括:

1、 文本文件

2、 XML 文件

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

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

5、 Web services

6、 WebSphere MQ

正是因為這么好的連接能力,IBM WebSphere DataStage 使用戶能夠?qū)W⒂跀?shù)據(jù)轉(zhuǎn)換的邏輯而不用太擔(dān)心數(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 架構(gòu)中所處的位置以及它們?nèi)绾螀f(xié)同工作來開發(fā) ETL Job 的,接著再分別詳細(xì)介紹每個工具的功能。

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

ETL Job開發(fā)流程

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

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

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

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


圖 1:IBM WebSphere DataStage 架構(gòu)圖

DataStage Administrator

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

1. 設(shè)置客戶端和服務(wù)器連接的最大時間。

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



2. 添加和刪除項目

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



3. License的管理

可以在Licensing標(biāo)簽中更新License。



DataStage Designer

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

1. ETL Job的開發(fā)

DataStage Designer里面包含了DataStage為ETL開發(fā)已經(jīng)構(gòu)建好的組件, 主要分為兩種,一種是用來連接數(shù)據(jù)源的組件,另一種是用來做數(shù)據(jù)轉(zhuǎn)換的組件。利用這些組件,開發(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中看到,這方面的內(nèi)容將在介紹DataStage Director的時候提到。

DataStage Manager

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

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運行的詳細(xì)的日志文件,還可以查看一些統(tǒng)計數(shù)據(jù),比如ETL Job每秒所處理的數(shù)據(jù)量。

2. 設(shè)置何時運行ETL Job

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





回頁首


ETL Job的并行執(zhí)行

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

。



回頁首


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

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



這里需要說明的是,DB2數(shù)據(jù)庫的Client端必須和DataStage Server裝在同一臺機器上面。如果要連接的DB2數(shù)據(jù)庫的Server和DataStage Server不在同一臺機器上面,那么就需要先用和DataStage Server裝在同一臺機器上的DB2的Client端提供的工具"配置助手"把要連接的數(shù)據(jù)庫添加到DB2的Client端當(dāng)中。這就為DataStage連接該數(shù)據(jù)庫做好了準(zhǔn)備。另外一點需要注意的是,如果你的DataStage Server是安裝在Windows上的,那么做完上面所描述的事情后就可以用DataStage連接DB2數(shù)據(jù)庫了,但是如果你的DataStage Server是安裝在Linux或者Unix上面的,你還需要配置DataStage的一個名字叫dsenv文件。因為我們的例子當(dāng)中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文件,在文件的最后加上如下內(nèi)容:


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)登錄后,在標(biāo)簽Projects中可以看到目前這個DataStage Server上面所有的項目。單擊按鈕"Add"新建一個項目;



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



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



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



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



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



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



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



(10) 保存好剛創(chuàng)建的ETL Job后,我們用DataStage Designer來導(dǎo)入數(shù)據(jù)庫的表結(jié)構(gòu)。在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)重復(fù)步驟 10-13把存儲在Target數(shù)據(jù)庫中的表employee的表結(jié)構(gòu)導(dǎo)入進來,這次存放的路徑改成PlugIn\Target。完成后,你會在Repository中看到你導(dǎo)入的表結(jié)構(gòu);



(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不要放開,一直拖拽鼠標(biāo)到右邊的DB2/UDB2 API Stage上面。這時候在這兩個Stage之間會出現(xiàn)一條連線,代表了數(shù)據(jù)的流向。下面我們將配置這兩個Stage的屬性;



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



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



(19)在Columns子標(biāo)簽中單擊按鈕Load去導(dǎo)入剛才從數(shù)據(jù)庫中導(dǎo)進來的表結(jié)構(gòu);



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



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



(22) 這時候你會看到表的字段已經(jīng)被導(dǎo)入進來。單擊子標(biāo)簽SQL;



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



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



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



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



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



(28)在工具欄中單擊圖標(biāo)"編譯"對剛開發(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è)置運行的參數(shù),比如出現(xiàn)多少個warning后ETL Job會自動中止掉。我們保持這個對話框中的默認(rèn)設(shè)置,單擊按鈕Run;



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



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



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







回頁首


總結(jié)

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



關(guān)于作者

 

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

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

聯(lián)系客服