• 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,步骤如下所示:

     

     

     

     

  • 相关阅读:
    php实现简单的流程管理
    【百度地图API】如何制作多途经点的线路导航——驾车篇
    利用MFC实现浏览器的定制与扩展(JavaScript与C++交互)
    c++与js脚本交互,C++调用JS函数/JS调用C++函数
    VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
    Android中半透明Activity效果另法
    mac java环境
    在Mac osx使用ADT Bundle踩过的坑
    Android自动检测版本及自动升级
    C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')
  • 原文地址:https://www.cnblogs.com/jay763190097/p/13036877.html
Copyright © 2020-2023  润新知