Informatic ETL開發步驟

一、 Designer

1.創建sources(源和目標庫操作一樣)

  • Source Analyzer視圖下 ==> 菜單欄sources ==> import from database 創建odbc data source

 

 

創建新數據源這裏沒有對應數據庫類型的ODBC則需要從網上下載安裝,mysql odbc創建見附錄

  • 填好username/ owner name/password選擇需要拉取和推送的表

2. 創建mapping

打開文件夾===> 選擇mapping designer視圖===> 菜單欄mappings選擇create

3. 創建映射關係

  • 選擇source analyzer視圖===>菜單欄sources選擇import from database
  • 選擇target designer視圖===>菜單欄targets選擇import from database(不要把之前的target刪掉了!!!)
  • 選擇mapping designer視圖===>從左邊樹形菜單下拖對應的source和target到這個視圖下===>然後連線創建字段映射關係
  • 菜單欄mappings選擇parameters and variable 添加增量參數

Name

Type

Datatype

Prec

Scale

Aggregation

IsExprVar

$$INCRSTARTDT

Variable

string

20

0

Max

FALSE

$$INCRENDDT

Variable

string

20

0

Max

FALSE

$$INCRSTARTID

Variable

decimal

22

0

Max

FALSE

$$INCRENDID

Variable

decimal

22

0

Max

FALSE

點擊w圖標進入workflow工具

二、 Workflow

1. 創建流程

  • 菜單欄 ==> workflows ==> create(按標準命名)
  • 拖一個start assignment,複製其他ETL項目的pre post 修改pre數據連接的配置,拖一個session選中Design中創建的mapping,按標準命名,然後用連接線連起來
  • 參數配置 菜單欄 ==> workflows ==> edit ==> variable

2. 參數配置

Name

Datatype

Persistent

$$SOURCE_OWNER

nstring

 

$$SOURCE_TABLE

nstring

 

$$WORK_DATE

nstring

 

$$TARGET_OWNER

nstring

 

$$TARGET_TABLE

nstring

 

$$SESSION_NAME

nstring

 

$$PARAM_FILE

nstring

 

$$REJECT_FILE

nstring

 

以及其他自定義參數

nstring

 

  • assignment參數值配置 assignment ==> 右鍵edit ==> expressions

User Defined Variables

Operator

Expression(與初始化表中的值對應,大小寫也要相同)

$$TARGET_OWNER

-

'VMAP'

$$TARGET_TABLE

-

'TMVMAPCONTRACTSYNTMP'

$$SOURCE_OWNER

-

'SRM'

$$SOURCE_TABLE

-

'CONTRACTVM01VM02_VIEW'

$$SESSION_NAME

-

'S'||SUBSTR($PMWorkflowName,3,LENGTH($PMWorkflowName)-2)

$$PARAM_FILE

-

$PMFolderName||''||$$SESSIONNAME'.PARAM'

$$REJECT_FILE

-

$PMFolderName''||$$TARGETTABLE||'.bad'

其他自定義參數

-

3. session配置

properties配置

Attribute

value

Parameter Filename(這個需要配置,否則數據庫增量設置的值不會複製到增量變量上)

$PMRootDir/BWParam/$$PARAM_FILE

Enable high precision

勾上

mapping配置

sources
| -- connections   選擇對應的源數據庫連接
| -- properties
     | -- source filter 增量條件  modify_time >= str_to_date('$$INCR_START_DT','%Y-%m-%d %H:%i:%s') and modify_time < str_to_date('$$INCR_END_DT','%Y-%m-%d %H:%i:%s')
     | -- owner name 數據庫owner
     | -- source table name 源表的表名  $$SOURCE_TABLE
targets
| -- connections   選擇對應的目標數據庫連接
| -- properties
| -- Truncate target table option   如果同步前需要清空所有數據,可以勾選
| -- reject file directory   $PMBadFileDir\
| -- reject filename
| -- post SQL 存儲過程  call $$TARGET_OWNER.SYN_REPAIR_CONTRACT_FROM_SRM($$REMAIN_DAYS);
| -- target table name $$TARGET_OWNER.$$TARGET_TABLE

點擊M圖標進入monitor工具

4.額外工作

源庫對源etl賬號授查詢權,目標庫表對目標etl賬號查詢插入更新授權

用目標庫etl賬號登錄數據庫,在etlmgr庫(可能看不到,實際上有權限)中增加workflow的初始化數據

insert into etlmgr.etl_incr_param(FOLDER,
                           WORKFLOW,
                           SESSION_NAME,
                           TARGET_OWNER,
                           TARGET_TABLE,
                           INCR_TYPE,
                           INCR_COLUMN,
                           LAST_RUN_STATE,
                           INCR_START_VALUE,
                           INCR_END_VALUE,
                           LAST_START_TIME,
                           LAST_END_TIME,
                           TIME_MODE,
                           TIME_RANGE,
                           TIME_BEFORE_NOW)
values('VMS_VMS',
            'WF_M_TA_OUT_ROLE',
            'S_M_TA_OUT_ROLE',
            'VMS',
            'TM_UUPM_ROLE',
            'TIME',
            'CREATE_TM',
            'INIT',
            '2015-08-01 00:00:00',
            '',
            '',
            '',
            'YYYY-MM-DD HH24:MI:SS',
            0,
            0);
commit;

 

三、 Monitor

workflow工具上,右鍵Start Workflow, monitor選中對應的文件夾即可看到運行狀態和session日誌。

四、導入和導出

點擊R圖標進入Repository

導入

選擇文件夾==》菜單欄 Repository選擇import objects

導出

選擇文件夾==》workflows==》選中對應的workflow右鍵export

五、 附錄

1. Designer mysql數據源配置

  • 安裝mysql ODBC

下載連接

  • client 修改配置文件

找到Informatica Client的安裝目錄,按如下圖所示的位置找到 powrmart.ini 文件,添加內容如紅圈所示。

 

 

2. Workflow 配置 ConnectorSF可省略)

開發好的 Mapping,需要運行在 Workflow,這時候需要對 Mapping 對應的數據源配置 Connector,以便支持 Workflow 的運行。打開 Workflow 工具,配置 MySQL Connector,步驟如下所示:

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章