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

$$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 配置 ConnectorSF可省略)

开发好的 Mapping,需要运行在 Workflow,这时候需要对 Mapping 对应的数据源配置 Connector,以便支持 Workflow 的运行。打开 Workflow 工具,配置 MySQL Connector,步骤如下所示:

 

 

 

 

 

posted @ 2020-06-03 12:56  风吹过的绿洲  阅读(1637)  评论(0编辑  收藏  举报