目錄:
Informatica基礎(chǔ)系列(一)——Helloworld
Informatica基礎(chǔ)系列(二)——更新策略轉(zhuǎn)換組件
Informatica基礎(chǔ)系列(三)——表達(dá)式楞遏、篩選遇革、查找組件
Informatica基礎(chǔ)系列(四)——聯(lián)結(jié)組件冀墨、路由組件
Informatica基礎(chǔ)系列(五)——參數(shù)與變量
Informatica基礎(chǔ)系列(六)——發(fā)布環(huán)境彼哼、遷移知識(shí)庫(kù)
正文:
這一篇介紹 Informatica 的軟件功能視圖敲才,并通過(guò)一個(gè)簡(jiǎn)單的 Demo 一窺 Infa 完整開(kāi)發(fā)流程务荆。
一虑乖、Infa 軟件視圖
1.1 概覽
Infa 是 C/S 的軟件架構(gòu)暴区,包括 Server闯团、Client,我們的開(kāi)發(fā)工作一般集中在 Client 仙粱。在本地安裝好客戶端房交,就會(huì)看到 Infa 的幾個(gè)快捷方式,常用的有 Repository Manager伐割、Designer候味、Workflow Manager刃唤、Workflow Monitor,如下圖所示:
1.2 Repository Manager
倉(cāng)庫(kù)管理白群,負(fù)責(zé)工作夾的創(chuàng)建尚胞、刪除、編輯以及環(huán)境數(shù)據(jù)的導(dǎo)入導(dǎo)出帜慢,能看到在其他視圖做的工作笼裳,包括 Designer 的 Source、Target粱玲、Mapping躬柬,還包括 Workflow 的 Session、Workflow密幔、Schedule楔脯,如下圖所示:
1.3 Designer
映射設(shè)計(jì),負(fù)責(zé)數(shù)據(jù)源胯甩、目標(biāo)的映射轉(zhuǎn)換設(shè)計(jì)昧廷。
如上圖,1 是切換軟件視圖區(qū)偎箫,可以方便地打開(kāi)或切換到其他視圖木柬;2 是工作夾導(dǎo)航區(qū);3 是組件區(qū)淹办,可以拖拽到設(shè)計(jì)區(qū)眉枕;4 是設(shè)計(jì)視圖切換區(qū),可以在 Source怜森、Target速挑、Transformation、Maplet副硅、Mapping 設(shè)計(jì)區(qū)切換姥宝;5 是狀態(tài)欄。
1.4 Workflow Manger
工作流管理恐疲,負(fù)責(zé)工作流設(shè)計(jì)腊满、設(shè)置等。
Workflow 視圖和 Designer 類似培己,需要補(bǔ)充說(shuō)明的是:設(shè)計(jì)區(qū)碳蛋、菜單、快捷組件等會(huì)根據(jù)你開(kāi)發(fā)內(nèi)容的不同而實(shí)時(shí)變化省咨,您可以在 Designer 的 4 區(qū)切換不同的設(shè)計(jì)視圖體驗(yàn)一下肃弟。
1.5 Workflow Monitor
工作流監(jiān)控,查看運(yùn)行狀態(tài)茸炒、運(yùn)行日志等愕乎。
如上圖阵苇,1是 Workflow 的運(yùn)行日志,雙擊 Workflow 的某一個(gè) Session感论,下面會(huì)有該 Session 的詳細(xì)日志绅项,從 Source 抽取的記錄數(shù),影響 Target 的記錄數(shù)比肄,Session 的開(kāi)始時(shí)間快耿、結(jié)束時(shí)間等。
二芳绩、HelloWorld
接下來(lái)我們做一個(gè) Demo掀亥,把 Source Table 的數(shù)據(jù)全量 load 到 Target Table,根據(jù) Id 主鍵匹配妥色,Insert/Update 到 Target搪花。為了簡(jiǎn)便,我把 Source嘹害、Target 放在同一個(gè) DB撮竿。
2.1 新建 Folder
我們從零做起,首先打開(kāi) Repository Manager 視圖笔呀,新建一個(gè) Test 工作夾幢踏,如下圖所示:
如果勾選 Allow Shortcut,表示該 Folder 是一個(gè)共享工作夾许师,點(diǎn)擊確定就建好一個(gè) Test 的 Folder房蝉,接下來(lái)切換到 Designer。
2.2 導(dǎo)入 Source微渠、Target
切到 Designer 會(huì)看到 Test Folder搭幻,如果 Designer 處于打開(kāi)狀態(tài),需要斷開(kāi)連接重新連才能看到這個(gè)變更逞盆,如下圖所示:
接下來(lái)導(dǎo)入 Source粗卜、Target 數(shù)據(jù)結(jié)構(gòu),先切換到 Source 視圖(中間紅框的第一個(gè)圖標(biāo))纳击,可以看到菜單出現(xiàn) Source 的菜單。點(diǎn)擊它攻臀,選擇 "Import from Database"焕数。當(dāng)然,Infa 支持導(dǎo)入很多種數(shù)據(jù)源結(jié)構(gòu)刨啸,本文以 Database 為例:
我已經(jīng)建好一個(gè) ODBC 的 DSN堡赔,也可以點(diǎn)擊后面的 "..." 創(chuàng)建。接下來(lái)设联,選中這個(gè) DSN善已,輸入 UserName/Password 灼捂,點(diǎn)擊帶圖標(biāo)的 "Connect" 按鈕,選中要導(dǎo)入的表换团,點(diǎn)擊 "OK"悉稠,Source 就導(dǎo)好了,如下圖所示:
導(dǎo)入 Target 的方法和導(dǎo)入 Source 類似艘包,導(dǎo)入后結(jié)果如下圖所示:
2.3 設(shè)計(jì) Mapping
導(dǎo)入 Source的猛、Target 后,切換到 Mapping Designer 視圖設(shè)計(jì) Mapping(中間第5個(gè)小圖標(biāo)想虎,也就是最后那個(gè))卦尊,通過(guò) Mapping -> Create,輸入 Mapping 名稱舌厨,創(chuàng)建一個(gè) Mapping岂却,如下圖所示:
將 Source、Target Table 拖拽到設(shè)計(jì)區(qū)裙椭,并將 Source 和 Target 的字段根據(jù)需求連線躏哩,我們先簡(jiǎn)單地把 Source 的數(shù)據(jù)一一對(duì)應(yīng)地 load 到 Target,直連就可以了骇陈,如下圖所示:
補(bǔ)充說(shuō)明:Infa 可以根據(jù) Position/Name 自動(dòng)連線震庭,右鍵單機(jī)空白處,可以看到 AutoLink 選項(xiàng)你雌,您可以試試器联。
2.4 生成 Workflow
Mapping 設(shè)計(jì)完畢后,右鍵點(diǎn)擊空白處婿崭,選擇“Generate Workflow”拨拓,根據(jù)引導(dǎo)程序完成 Workflow 的創(chuàng)建,可以先按引導(dǎo)程序的默認(rèn)選項(xiàng)氓栈,后續(xù)在 Workflow 中重新設(shè)置渣磷,如下圖所示:
這里可以選擇創(chuàng)建一個(gè)可復(fù)用的 Session、可復(fù)用 Session 的 Workflow 或不復(fù)用的 Session 的 Workflow授瘦,通常情況下醋界,一個(gè) Workflow 可以運(yùn)行多個(gè) Session,我們選第三個(gè)提完。
2.5 設(shè)置 Workflow
Workflow 運(yùn)行前需要指定 “Connector”形纺,就是 Source、Target 數(shù)據(jù)所在的數(shù)據(jù)庫(kù)連接徒欣。切換到 Workflow 視圖逐样,通過(guò) Connerctor -> Relational ... 配置連接,如下圖所示:
雙擊 Workflow 中的 Session -> Properties ->Treat source rows as,選擇 “Update”脂新,如下圖所示:
切換到 Mapping tab挪捕,設(shè)置 Source、Target 的連接争便,并選擇 Target “Update else Insert”级零,我們上面選擇的是 Update 模式,這里選擇這個(gè)選項(xiàng)的意思是匹配到則更新始花,否則插入新的記錄妄讯,如下圖所示:
到這里整個(gè)開(kāi)發(fā)就結(jié)束了,下面我們驗(yàn)證下我們的數(shù)據(jù)是否能得到預(yù)期結(jié)果酷宵。
2.6 驗(yàn)證結(jié)果
我已經(jīng)在 Source Table 準(zhǔn)備了 4 條記錄亥贸,Target Table 無(wú)記錄,查詢結(jié)果如下圖所示:
然后運(yùn)行 Workflow浇垦,右鍵單擊 Workflow Designer 空白處 -> Start Workflow炕置,會(huì)自動(dòng)轉(zhuǎn)換到 Monitor 視圖,查看日志看到影響了 4 條記錄男韧,再查看下數(shù)據(jù)庫(kù)朴摊,看到 Target Table 已經(jīng)有了 4 條數(shù)據(jù),如下圖所示:
今天的分享就到這此虑,相信這篇文章已經(jīng)能夠讓你快速上手 Infa 的開(kāi)發(fā)了甚纲。隨著業(yè)務(wù)場(chǎng)景的復(fù)雜程度,Infa 也有更復(fù)雜的設(shè)計(jì)策略朦前,敬請(qǐng)期待下次分享介杆!
At 2017.08.13