Informatica 简单使用

 

1. Informatica简介

① Repository manager 主要用来维护资料库的目录,对象,建完对象可以创建demo的folder。

② Administration Console是完全基于web的,管理所有的节点,服务,在里面包括资料库的一些用户,权限等信息。

③ Designer主要用来设计mapping。Mapping是informatica的一个映射,也就是说是ETL的一个规范,包括对源,目标,过程的设计。

④ workflow主要用于将mapping实例化,也就是设计一个session,如果session很多的话需要将它们设计成一个串行或者并行的过程,它们组成的session就叫做workflow,即工作流。

⑤ workflow monitor用来监控、执行workflow。

⑥ 控件:Source Qualified Transformation:ETL经常会用到的组件,对数据源,包括文件,也包括数据表进行抽取。无论数据源是表还是平面文件源,都会用到该组件。

2. 新建带过滤条件的workflow

D:

① 选在source,import source ,odbc data source中选择oracle的odbc设置,如果没有,要在管理工具中自行设置,具体如图。

 

 

② 同理,在target中设置目标数据表的连接,然后设置mapping,设置成功之后,转入w中设置工作流,

W:

① 在edit task->mapping中,source和target分别要设置源和目标的连接驱动。

② 在edit task->properties->parameter filename里面写入参数所在文件夹的地址(该参数在服务器的目录下,是事先设定好的文件)。

③ 在左项目条件source 中,edit task->mapping->source filter里面写入过滤的参数条件。

④ 在左项目条件target中,edit task->mapping->pre SQL里面写入执行前的更新数据表语句。

注意事项:

目标表的的数据表如果带有系统目录前缀,在设置mapping的连接条件时将无法识别前缀,因此没有办法传输数据。

3. 在Designer中设置过滤参数问题

① 设置参数之后,参数的默认值是字符如图,M中运行结果错误,无法解析参数,数据没有被导入。

 

 

4. 往GP数据库中导入平面文件源。

① 要将所导入的文件放入服务器的目录下,先在informatica控制台设置目录。

 

 

② 设置workflow时,在source里设置如下目录,其中source filetype包含两种情况,Direct设置如下图

 

 

 

③ indirect方式是选择表名列表文件,按文件列表运行。

 

 

5. 设置同时将两个表导入一个数据表中的workflow

6. 两个并无关联的mapping一起运行

① 在target load plan里面设置mapping运行的先后顺序。

7. 带expression Transformation组件的workflow

① 导入源表

② 手工创建目标表,可以在target菜单中选择great创建,也可以复制目标库中类似的表进行修改。前提是目标库中存在这样的表。

③ 手工创建目标表,target菜单下,generate/execute SQL

④ Filtertransformation组件:过滤组件将传到目标表的数据进行筛选,过滤。过滤不能对原来的表字段进行修改。值改变传递值的行数。

⑤ Expression Transformation组件:不改变抽取数据的行数,是被动的函数组件。不能实现汇总级的函数的操作。执行的先后顺序,先执行input,后执行valuable,valuable相当于一个局部的变量,按照顺序执行,后执行output。

⑥ Reusable Transformation组件:

8. Workflow的调度方式

① 手工执行(现在都是在手工执行)

② Workflow scheduler(调度程序调度)

③ pmcmd startworkflow

④ command task

⑤ worklet

9. informatica语法规则

① 输入的字符用 单引号 扩起来,连接字符用 || ,基本跟oracle保持一致。

② DECODE(IN_GENDER, 'M', 'MALE', 'N', 'FEMALE', 'UNK')

DECODE(TRUE,

IN_AGE < 20, 'LESS THAN 20',

IN_AGE  >= 20  AND  IN_AGE <= 29,  '20 TO 29',

IN_AGE  >= 30  AND  IN_AGE <= 39,  '30 TO 39',

IN_AGE  >= 40  AND  IN_AGE <= 49,  '40 TO 49',

IN_AGE  >= 50  AND  IN_AGE <= 60,  '50 TO 60',

IN_AGE  >  60, 'GREATER THAN 60'

)

DECODE(字段名, '条件1', '返回值1', '条件2', '返回值2', '缺省值')

posted @ 2018-11-23 18:32  wangrui1587165  阅读(9181)  评论(0编辑  收藏  举报