Informatica基础系列(一)——Helloworld
目錄:
Informatica基礎系列(零)——前言
Informatica基礎系列(一)——Helloworld
Informatica基礎系列(二)——更新策略轉換組件
Informatica基礎系列(三)——表達式、篩選、查找組件
Informatica基礎系列(四)——聯結組件、路由組件
Informatica基礎系列(五)——參數與變量
Informatica基礎系列(六)——發布環境、遷移知識庫
Informatica基礎系列(七)——常見問題、注意事項
Informatica基礎系列(外)——不支持 MySQL Community 版本的解決方案
正文:
這一篇介紹 Informatica 的軟件功能視圖,并通過一個簡單的 Demo 一窺 Infa 完整開發流程。
一、Infa 軟件視圖
1.1 概覽
Infa 是 C/S 的軟件架構,包括 Server、Client,我們的開發工作一般集中在 Client 。在本地安裝好客戶端,就會看到 Infa 的幾個快捷方式,常用的有 Repository Manager、Designer、Workflow Manager、Workflow Monitor,如下圖所示:
1.2 Repository Manager
倉庫管理,負責工作夾的創建、刪除、編輯以及環境數據的導入導出,能看到在其他視圖做的工作,包括 Designer 的 Source、Target、Mapping,還包括 Workflow 的 Session、Workflow、Schedule,如下圖所示:
1.3 Designer
映射設計,負責數據源、目標的映射轉換設計。
如上圖,1 是切換軟件視圖區,可以方便地打開或切換到其他視圖;2 是工作夾導航區;3 是組件區,可以拖拽到設計區;4 是設計視圖切換區,可以在 Source、Target、Transformation、Maplet、Mapping 設計區切換;5 是狀態欄。
1.4 Workflow Manger
工作流管理,負責工作流設計、設置等。
Workflow 視圖和 Designer 類似,需要補充說明的是:設計區、菜單、快捷組件等會根據你開發內容的不同而實時變化,您可以在 Designer 的 4 區切換不同的設計視圖體驗一下。
1.5 Workflow Monitor
工作流監控,查看運行狀態、運行日志等。
如上圖,1是 Workflow 的運行日志,雙擊 Workflow 的某一個 Session,下面會有該 Session 的詳細日志,從 Source 抽取的記錄數,影響 Target 的記錄數,Session 的開始時間、結束時間等。
二、HelloWorld
接下來我們做一個 Demo,把 Source Table 的數據全量 load 到 Target Table,根據 Id 主鍵匹配,Insert/Update 到 Target。為了簡便,我把 Source、Target 放在同一個 DB。
2.1 新建 Folder
我們從零做起,首先打開 Repository Manager 視圖,新建一個 Test 工作夾,如下圖所示:
如果勾選 Allow Shortcut,表示該 Folder 是一個共享工作夾,點擊確定就建好一個 Test 的 Folder,接下來切換到 Designer。
2.2 導入 Source、Target
切到 Designer 會看到 Test Folder,如果 Designer 處于打開狀態,需要斷開連接重新連才能看到這個變更,如下圖所示:
接下來導入 Source、Target 數據結構,先切換到 Source 視圖(中間紅框的第一個圖標),可以看到菜單出現 Source 的菜單。點擊它,選擇 “Import from Database”。當然,Infa 支持導入很多種數據源結構,本文以 Database 為例:
我已經建好一個 ODBC 的 DSN,也可以點擊后面的 “…” 創建。接下來,選中這個 DSN,輸入 UserName/Password ,點擊帶圖標的 “Connect” 按鈕,選中要導入的表,點擊 “OK”,Source 就導好了,如下圖所示:
導入 Target 的方法和導入 Source 類似,導入后結果如下圖所示:
2.3 設計 Mapping
導入 Source、Target 后,切換到 Mapping Designer 視圖設計 Mapping(中間第5個小圖標,也就是最后那個),通過 Mapping -> Create,輸入 Mapping 名稱,創建一個 Mapping,如下圖所示:
將 Source、Target Table 拖拽到設計區,并將 Source 和 Target 的字段根據需求連線,我們先簡單地把 Source 的數據一一對應地 load 到 Target,直連就可以了,如下圖所示:
補充說明:Infa 可以根據 Position/Name 自動連線,右鍵單機空白處,可以看到 AutoLink 選項,您可以試試。
2.4 生成 Workflow
Mapping 設計完畢后,右鍵點擊空白處,選擇“Generate Workflow”,根據引導程序完成 Workflow 的創建,可以先按引導程序的默認選項,后續在 Workflow 中重新設置,如下圖所示:
這里可以選擇創建一個可復用的 Session、可復用 Session 的 Workflow 或不復用的 Session 的 Workflow,通常情況下,一個 Workflow 可以運行多個 Session,我們選第三個。
2.5 設置 Workflow
Workflow 運行前需要指定 “Connector”,就是 Source、Target 數據所在的數據庫連接。切換到 Workflow 視圖,通過 Connerctor -> Relational … 配置連接,如下圖所示:
雙擊 Workflow 中的 Session -> Properties ->Treat source rows as,選擇 “Update”,如下圖所示:
切換到 Mapping tab,設置 Source、Target 的連接,并選擇 Target “Update else Insert”,我們上面選擇的是 Update 模式,這里選擇這個選項的意思是匹配到則更新,否則插入新的記錄,如下圖所示:
到這里整個開發就結束了,下面我們驗證下我們的數據是否能得到預期結果。
2.6 驗證結果
我已經在 Source Table 準備了 4 條記錄,Target Table 無記錄,查詢結果如下圖所示:
然后運行 Workflow,右鍵單擊 Workflow Designer 空白處 -> Start Workflow,會自動轉換到 Monitor 視圖,查看日志看到影響了 4 條記錄,再查看下數據庫,看到 Target Table 已經有了 4 條數據,如下圖所示:
今天的分享就到這,相信這篇文章已經能夠讓你快速上手 Infa 的開發了。隨著業務場景的復雜程度,Infa 也有更復雜的設計策略,敬請期待下次分享!
At 2017.08.13
歡迎關注我的微信公眾號:惜福 / xifu_forever,微信掃一掃即可關注:
總結
以上是生活随笔為你收集整理的Informatica基础系列(一)——Helloworld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jdbc连接mysql的五种连接方式
- 下一篇: 机构:2023年三星智能手机预计将在42