一、 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 |
$$INCR_START_DT |
Variable |
string |
20 |
0 |
Max |
FALSE |
$$INCR_END_DT |
Variable |
string |
20 |
0 |
Max |
FALSE |
$$INCR_START_ID |
Variable |
decimal |
22 |
0 |
Max |
FALSE |
$$INCR_END_ID |
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 配置 Connector(SF可省略)
開發好的 Mapping,需要運行在 Workflow,這時候需要對 Mapping 對應的數據源配置 Connector,以便支持 Workflow 的運行。打開 Workflow 工具,配置 MySQL Connector,步驟如下所示: