Informatica基礎(chǔ)系列(一)——Helloworld

目錄:

Informatica基礎(chǔ)系列(零)——前言

Informatica基礎(chǔ)系列(一)——Helloworld

Informatica基礎(chǔ)系列(二)——更新策略轉(zhuǎn)換組件

Informatica基礎(chǔ)系列(三)——表達(dá)式、篩選、查找組件

Informatica基礎(chǔ)系列(四)——聯(lián)結(jié)組件、路由組件

Informatica基礎(chǔ)系列(五)——參數(shù)與變量

Informatica基礎(chǔ)系列(六)——發(fā)布環(huán)境、遷移知識庫

Informatica基礎(chǔ)系列(七)——常見問題、注意事項(xiàng)

Informatica基礎(chǔ)系列(外)——不支持 MySQL Community 版本的解決方案

正文:

這一篇介紹 Informatica 的軟件功能視圖,并通過一個簡單的 Demo 一窺 Infa 完整開發(fā)流程。

一、Infa 軟件視圖

1.1 概覽

Infa 是 C/S 的軟件架構(gòu),包括 Server、Client,我們的開發(fā)工作一般集中在 Client 。在本地安裝好客戶端,就會看到 Infa 的幾個快捷方式,常用的有 Repository Manager、Designer、Workflow Manager、Workflow Monitor,如下圖所示:

1.2 Repository Manager

倉庫管理,負(fù)責(zé)工作夾的創(chuàng)建、刪除、編輯以及環(huán)境數(shù)據(jù)的導(dǎo)入導(dǎo)出,能看到在其他視圖做的工作,包括 Designer 的 Source、Target、Mapping,還包括 Workflow 的 Session、Workflow、Schedule,如下圖所示:

1.3 Designer

映射設(shè)計,負(fù)責(zé)數(shù)據(jù)源、目標(biāo)的映射轉(zhuǎn)換設(shè)計。

如上圖,1 是切換軟件視圖區(qū),可以方便地打開或切換到其他視圖;2 是工作夾導(dǎo)航區(qū);3 是組件區(qū),可以拖拽到設(shè)計區(qū);4 是設(shè)計視圖切換區(qū),可以在 Source、Target、Transformation、Maplet、Mapping 設(shè)計區(qū)切換;5 是狀態(tài)欄。

1.4 Workflow Manger

工作流管理,負(fù)責(zé)工作流設(shè)計、設(shè)置等。

Workflow 視圖和 Designer 類似,需要補(bǔ)充說明的是:設(shè)計區(qū)、菜單、快捷組件等會根據(jù)你開發(fā)內(nèi)容的不同而實(shí)時變化,您可以在 Designer 的 4 區(qū)切換不同的設(shè)計視圖體驗(yàn)一下。

1.5 Workflow Monitor

工作流監(jiān)控,查看運(yùn)行狀態(tài)、運(yùn)行日志等。

如上圖,1是 Workflow 的運(yùn)行日志,雙擊 Workflow 的某一個 Session,下面會有該 Session 的詳細(xì)日志,從 Source 抽取的記錄數(shù),影響 Target 的記錄數(shù),Session 的開始時間、結(jié)束時間等。

二、HelloWorld

接下來我們做一個 Demo,把 Source Table 的數(shù)據(jù)全量 load 到 Target Table,根據(jù) Id 主鍵匹配,Insert/Update 到 Target。為了簡便,我把 Source、Target 放在同一個 DB。

2.1 新建 Folder

我們從零做起,首先打開 Repository Manager 視圖,新建一個 Test 工作夾,如下圖所示:

如果勾選 Allow Shortcut,表示該 Folder 是一個共享工作夾,點(diǎn)擊確定就建好一個 Test 的 Folder,接下來切換到 Designer。

2.2 導(dǎo)入 Source、Target

切到 Designer 會看到 Test Folder,如果 Designer 處于打開狀態(tài),需要斷開連接重新連才能看到這個變更,如下圖所示:

接下來導(dǎo)入 Source、Target 數(shù)據(jù)結(jié)構(gòu),先切換到 Source 視圖(中間紅框的第一個圖標(biāo)),可以看到菜單出現(xiàn) Source 的菜單。點(diǎn)擊它,選擇 "Import from Database"。當(dāng)然,Infa 支持導(dǎo)入很多種數(shù)據(jù)源結(jié)構(gòu),本文以 Database 為例:

我已經(jīng)建好一個 ODBC 的 DSN,也可以點(diǎn)擊后面的 "..." 創(chuàng)建。接下來,選中這個 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è)計 Mapping

導(dǎo)入 Source、Target 后,切換到 Mapping Designer 視圖設(shè)計 Mapping(中間第5個小圖標(biāo),也就是最后那個),通過 Mapping -> Create,輸入 Mapping 名稱,創(chuàng)建一個 Mapping,如下圖所示:

將 Source、Target Table 拖拽到設(shè)計區(qū),并將 Source 和 Target 的字段根據(jù)需求連線,我們先簡單地把 Source 的數(shù)據(jù)一一對應(yīng)地 load 到 Target,直連就可以了,如下圖所示:

補(bǔ)充說明:Infa 可以根據(jù) Position/Name 自動連線,右鍵單機(jī)空白處,可以看到 AutoLink 選項(xiàng),您可以試試。

2.4 生成 Workflow

Mapping 設(shè)計完畢后,右鍵點(diǎn)擊空白處,選擇“Generate Workflow”,根據(jù)引導(dǎo)程序完成 Workflow 的創(chuàng)建,可以先按引導(dǎo)程序的默認(rèn)選項(xiàng),后續(xù)在 Workflow 中重新設(shè)置,如下圖所示:

這里可以選擇創(chuàng)建一個可復(fù)用的 Session、可復(fù)用 Session 的 Workflow 或不復(fù)用的 Session 的 Workflow,通常情況下,一個 Workflow 可以運(yùn)行多個 Session,我們選第三個。

2.5 設(shè)置 Workflow

Workflow 運(yùn)行前需要指定 “Connector”,就是 Source、Target 數(shù)據(jù)所在的數(shù)據(jù)庫連接。切換到 Workflow 視圖,通過 Connerctor -> Relational ... 配置連接,如下圖所示:

雙擊 Workflow 中的 Session -> Properties ->Treat source rows as,選擇 “Update”,如下圖所示:

切換到 Mapping tab,設(shè)置 Source、Target 的連接,并選擇 Target “Update else Insert”,我們上面選擇的是 Update 模式,這里選擇這個選項(xiàng)的意思是匹配到則更新,否則插入新的記錄,如下圖所示:

到這里整個開發(fā)就結(jié)束了,下面我們驗(yàn)證下我們的數(shù)據(jù)是否能得到預(yù)期結(jié)果。

2.6 驗(yàn)證結(jié)果

我已經(jīng)在 Source Table 準(zhǔn)備了 4 條記錄,Target Table 無記錄,查詢結(jié)果如下圖所示:

然后運(yùn)行 Workflow,右鍵單擊 Workflow Designer 空白處 -> Start Workflow,會自動轉(zhuǎn)換到 Monitor 視圖,查看日志看到影響了 4 條記錄,再查看下數(shù)據(jù)庫,看到 Target Table 已經(jīng)有了 4 條數(shù)據(jù),如下圖所示:

今天的分享就到這,相信這篇文章已經(jīng)能夠讓你快速上手 Infa 的開發(fā)了。隨著業(yè)務(wù)場景的復(fù)雜程度,Infa 也有更復(fù)雜的設(shè)計策略,敬請期待下次分享!

At 2017.08.13

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容