INFORMATICA 使用帮助.docx

上传人:b****4 文档编号:3880249 上传时间:2023-05-06 格式:DOCX 页数:25 大小:38.98KB
下载 相关 举报
INFORMATICA 使用帮助.docx_第1页
第1页 / 共25页
INFORMATICA 使用帮助.docx_第2页
第2页 / 共25页
INFORMATICA 使用帮助.docx_第3页
第3页 / 共25页
INFORMATICA 使用帮助.docx_第4页
第4页 / 共25页
INFORMATICA 使用帮助.docx_第5页
第5页 / 共25页
INFORMATICA 使用帮助.docx_第6页
第6页 / 共25页
INFORMATICA 使用帮助.docx_第7页
第7页 / 共25页
INFORMATICA 使用帮助.docx_第8页
第8页 / 共25页
INFORMATICA 使用帮助.docx_第9页
第9页 / 共25页
INFORMATICA 使用帮助.docx_第10页
第10页 / 共25页
INFORMATICA 使用帮助.docx_第11页
第11页 / 共25页
INFORMATICA 使用帮助.docx_第12页
第12页 / 共25页
INFORMATICA 使用帮助.docx_第13页
第13页 / 共25页
INFORMATICA 使用帮助.docx_第14页
第14页 / 共25页
INFORMATICA 使用帮助.docx_第15页
第15页 / 共25页
INFORMATICA 使用帮助.docx_第16页
第16页 / 共25页
INFORMATICA 使用帮助.docx_第17页
第17页 / 共25页
INFORMATICA 使用帮助.docx_第18页
第18页 / 共25页
INFORMATICA 使用帮助.docx_第19页
第19页 / 共25页
INFORMATICA 使用帮助.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

INFORMATICA 使用帮助.docx

《INFORMATICA 使用帮助.docx》由会员分享,可在线阅读,更多相关《INFORMATICA 使用帮助.docx(25页珍藏版)》请在冰点文库上搜索。

INFORMATICA 使用帮助.docx

INFORMATICA使用帮助

1.INFORMATICACLIENT的使用

1.1      RepositoryManager的使用

1.1.1创建Repository。

前提:

a.在ODBC数据源管理器中新建一个数据源连接至你要创建Repository的数据库(例:

jzjxdev)

      b.要在你要连接的数据库中新建一个用户(例:

name:

ETLpassword:

ETL)

现在你可以创建一个Repository了。

选择Repository–CreateRepository,输入RepositoryName(例:

JZJX),Database

Username(例:

etl),DatabasePassword(例:

etl),ODBCDataSource(例:

jzjxdev),NativeConnectString(数据库所

在ip例:

141.20.52.108)

1.1.2添加Repository。

通过这一步你可以添加别人已经建好的Repository。

选择Repository–AddRepository,输入RepositoryName(例:

JZJX),Username(例:

etl),点击ok就可以看到名为JZJX的

Repository在左边的浏览器中,但是此时还看不到它的内容,要看到它的内容或者对它进行操作必须先连接它。

1.1.3添加Folder

选择Folder–Create,输入文件夹名称即可。

1.2Designer的使用

首先连接Repository,可以看到该Repository在RepositoryManager中创建的文件夹。

1.2.1Sources

      Sources文件夹下的表是抽取的来源表。

导入方法:

选择Tools菜单下的SourceAnalyzer,然后选择Sources菜单下的Import

fromdatabase,连接想要连接的数据库,连接上后选择你要抽取的表点击ok你所选择的表就会出现在Sources文件夹下。

说明:

上面的导入过程导入的只是表结构,你也可以自己创建来源表,只要你创建的表

的结构跟真实存在的那张表的表结构一致就行。

1.2.2Targets

      Targets文件夹下的表是抽取的目标表,也就是抽取结果的存放表.

      导入方法:

选择Tools菜单下的WarehouseDesigner,然后选择Targets菜单下的Importfromdatabase,连接想要连接的数

据库,连接上后选择你要抽取的表点击ok你所选择的表就会出现在Targets文件夹下。

说明:

上面的导入过程导入的只是表结构,你也可以自己创建目标表,只要你创建的表

的结构跟真实存在的那张表的表结构一致就行。

1.2.3Mappings的设计

      选择Tools菜单下的MappingDesigner才能进行Mapping的设计。

      每个Mapping都由来源表,transformation和目标表组成,描述数据抽取的过程。

来源表和目标表可以从Sources和Targets

文件夹拖拽到工作区,但是transformation一般来说是需要自己创建的。

Mapping的设计关键是transformation的使用,它的使用关

系到数据抽取的正确性和效率。

下面说明各个transformation的作用和用法。

(Active:

表示该transformation可以改变通过它的数据的行数;

Passive:

表示该transformation不改变通过它的数据的行数;

Connected:

表示该transformation要连接到数据流;

Unconnected:

表示该transformation可以不连接到数据流)

1.2.3.1SourceQualifier

作用:

根据查询SQL文从关系表或平坦文件查出所要记录

用法:

创建好SourceQualifier(下简称SQ)后,将需要的用的字段从来源表拖拽到SQ,双击SQ,对SQ的属性进行设置。

SelectDistinct属性:

选中的话表明结果记录将去除重复值;

TracingLevel属性:

共有四级,表示log的复杂程度;

NumberOfSortedPorts属性:

排序的字段个数,值大于0时SqlQuery中的sql文将出现orderby从句;

SqlFilter属性:

属性值将出现在SqlQuery属性值的where表达式中;

UserDefinedJoin属性:

用户如果要定义外部连接可在此写(例:

{REG_CUSTOMERLEFTOUTERJOINPURCHASESon

(REG_CUSTOMER.CUST_ID=PURCHASES.CUST_IDANDPURCHASES.AMOUNT>100.00)})

SqlQuery属性:

值是一条sql文,session运行时会执行这条sql文进行查询。

命名方式:

SQ_Name

类型:

Active/Connected

注意:

SQ的输入只能来自来源表;UserDefinedJoin属性值必须用{}括起来;在更改了SQ的属性值之后一定要点击SqlQuery属性的

generatesql按钮重新生成sql文。

1.2.3.2UpdateStrategy

作用:

决定该行进行插入,删除,更新,忽略中的哪一种操作

用法:

创建好UpdateStrategy(下简称US)后,将需要的用的字段从transformation拖拽到US,双击US,对US的属性进行设置。

US的设

置关键是UpdateStrategyExpression属性的设置,这个表达式使用IIF或DECODE函数对记录的每一行进行判断,为每一行赋予

DD_INSERT,DD_UPDATE,DD_DELETE,DD_REJECT(这四个是常量,值分别为0,1,2,3)中任意一个值,表明该行在数据库中将进行

何种操作。

命名方式:

UPD_Name

类型:

Active/Connected

注意:

mapping中有US时,mapping对应的session的在配置属性时必须把Treatrows属性设置为DataDriven,否则US将不起作用。

1.2.3.3Expression

作用:

计算一个值

用法:

创建好Expression(下简称EXP)后,将需要的用的字段从来源表拖拽到EXP,双击EXP,

    新增输出端口,编辑该端口的表达式。

命名方式:

EXP_Name

类型:

Passive/Connected

注意:

要进行列运算一般用这个transformation;此种transformation可以使用本地变量

1.2.3.4StoredProcedure

作用:

调用一个存储过程

用法:

创建StoredProcedure(下简称SP)的时候连接数据库选择必要的存储过程。

SP有连接和不连接到数据流两种用法。

连接到数据流方式跟一般的transformation类似,通过拖拽端口来实现数据流。

不连接到数据流分表达式调用和Pre-/PostSession两种方式。

表达式调用方式中SP被Mapping中另一个transformation中的表达式

调用。

Pre-/PostSession方式就是在Session的属性中配置SP的运行时间,SourcePre-load(Session从源表查询数据之前),Source

Post-load(Session从源表查询数据之后),TargetPre-load(Session将数据插入目标表之前),TargetPost-load(Session将

数据插入目标表之后)

命名方式:

SP_Name

类型:

Passive/ConnectedorUnconnected

注意:

1.2.3.5SequenceGenerator

作用:

产生主键

用法:

创建好SequenceGenerator(下简称SEQ)后,双击SEQ,对SEQ的属性进行设置。

StartValue属性是开始值,此属性只在选择了

Cycle选项才有效;IncrementBy属性值是每次增加的值;EndValue属性值是结束值;CurrentValue属性值是当前开始值;Cycle选

项被选择的话NEXTVAL的值达到EndValue值之后会重新从StartValue开始;Reset选项被选择的话,服务器会为每个使用了该SEQ的

session的NEXTVAL值都从CurrentValue开始。

命名方式:

SEQ_Name

类型:

Passive/Connected

注意:

这是一个只有两个输出端口没有输入端口的transformation.;

    如果该SEQ时可重复使用的话,不能选择Reset选项。

1.2.3.6Aggregator

作用:

执行分组聚合运算

用法:

创建好Aggregator(下简称AGG)后,将需要的用的字段从其他transformation拖拽到AGG,双击AGG,在端口tab中每个端口有

groupby选项。

钩上想要分组的列,新增端口,编写聚合表达式实现分组聚合运算。

命名方式:

AGG_Name

类型:

Active/Connected

注意:

可使用本地变量

1.2.3.7Filter

作用:

过滤记录

用法:

创建好Filter(下简称FIL)后,将需要的用的字段从transformation拖拽到FIL,双击FIL,对FIL的属性进行设置。

FIL的配置主

要是对FilterCondition的配置,FilterCondition写入类似where条件的表达式即可。

命名方式:

FIL_Name

类型:

Active/Connected

注意:

1.2.3.8Lookup

作用:

查询值

用法:

创建Lookup(下简称KP)的时候选择要查询的表。

和StoredProcedure一样SP有连接和不连接到数据流两种用法。

连接到数据流方式将要关联查询的字段从其他的transformation拖拽过来,然后双击LKP进行属性的配置。

LookupPolicyOn

MultipleMatch属性表明当查询到多个行时采取取第一行,取第二行,报错中哪个策略.LookupCondition属性值是查询的条件。

LookupSqlOverride属性值是查询执行的Sql文,我们可以在里面直接写Sql。

LookupCachingEnabled属性表明是否使用缓存,此项

一般选择为好,有利提高效率。

LoopupCachePersistent属性表明是否使用永久的缓存。

命名方式:

LKP_Name

类型:

Passive/ConnectedorUnconnected

注意:

如果Lookup表的类型是来源表的话,请尽量使用Joiner;

一个已连接的LKP不能再被其他transformation的表达式调用;

如果查询表在session运行过程中不会改变,使用LoopupCachePersistent属性可提高性能;

尽量不要在LookupSqlOverride中书写orderby子句,因为cachedLKP默认有orderby;

1.2.3.9Joiner

作用:

连接查询来自不同数据库的表或平坦文件

用法:

创建好Joiner(下简称JNR)后,将需要的用的字段从transformation拖拽到JNR,双击JNR,对JNR的属性进行设置。

用于连接的

两个表一个称为detail表,一个称为master表。

JNR属性中可配置JoinType(连接类型)为NormalJoin,MasterOuterJoin,Detail

OuterJoin和FullOuterJoin中任意一种。

NormalJoin相当于常规的innerjoin;MasterOuterJoin相当于常规的Detailleft

outerjoinMaster;DetailOuterJoin相当于常规的DetailrightouterjoinMaster;FullOuterJoin相当于常规的fullouter

join。

JoinCondition属性值就是常规sql文on后带的条件。

命名方式:

JNR_Name

类型:

Active/Connected

注意:

尽量使用NormalJoin,MasterOuterJoin.这两个的效率比另外两个更好

1.2.3.10Normalizer

作用:

格式化记录,这些记录可以是来自COBOL源

用法:

命名方式:

NRM_Name

类型:

Active/Connected

注意:

1.2.3.11Router

作用:

根据一组表达式将记录分类路由到多个transformation

用法:

创建好Router(下简称RTR)后,将需要的用的字段从transformation拖拽到RTR,双击RTR,对RTR的属性进行设置。

在Grouptab

中添加组,为每组编辑该组的过滤条件。

命名方式:

RTR_Name

类型:

Active/Connected

注意:

组过滤条件表达式的计算值必须是真或者假。

1.2.3.12Rank

作用:

排序记录,只输出最顶层或最低层的n个记录

用法:

创建好Rank(下简称RNK)后,将需要的用的字段从transformation拖拽到RNK,双击RNK,对RNK的属性进行设置。

在Portstab中

有一个名为‘R’的列,选择你要排序的列。

你还可以选择你想分组的列。

在Propertiestab中Top/Bottom属性,Top表示选择顶层的

记录,Bottom表示选择底层的记录;NumberOfRanks属性值是整数,表示要选择的记录条数。

假设你在‘R’列中选择了名为’

Price’的列,而且GroupBy选择了‘Name’列,Top/Bottom属性选择的是‘Top’,NumberOfRanks属性值是2,那么将抽取过程是

这样的:

以name分组取出每组中Price最大的2列记录。

命名方式:

RNK_Name

类型:

Active/Connected

注意:

可以使用本地变量

1.2.3.13ERPSourceQualifier

作用:

根据查询SQL文从ERP文件查出所要记录

用法:

命名方式:

类型:

Active/Connected

注意:

1.2.3.14XMLSourceQualifier

作用:

根据查询SQL文从XML文件查出所要记录

用法:

命名方式:

XSQ_Name

类型:

Passive/Connected

注意:

1.2.4MappingParameters(参数)和Variables(变量)的使用

如果你在一个mapping中多次用到同一个值,又或者mapping中要用到一个在session运行才能决定的值,这时候可以使用mapping

parameters或variable。

添加参数或变量的方法是:

选择Mappings-ParametersandVariables,在窗口新增变量或者参数,并对它的

数据类型,数据大小,初始值进行设置。

添加的参数和变量在本mapping的transformation的表达式中就可以使用了。

这些参数和变

量的值还可以设置在.txt文件中,建session或者batch的时候把这个文件的路径设置在Parameter输入框中就行了。

Mapping参数变量的命名方式:

$$NAME

存放参数变量的.txt文件的格式:

folder_name可写可不写

[folder_name.session_name]  

parameter_name=value

variable_name=value

mapplet_name.parameter_name=value

[folder_name.session2_name]

parameter_name=value

variable_name=value

mapplet_name.variable_name=value

[folder2_name.session_name]

parameter_name=value

variable_name=value

mapplet_name.parameter_name=value

1.2.5Mapping的调试

选择Mappings–Debugger–StartDebugger,在点击‘下一步’的过程中选择调试过程运行在哪台服务器然后为来源表选择数据库,

最后到完成。

等调试初始化好之后点击Mappings–Debugger–Continue(或按F5),即可开始调试,选择某个目标表即可看该表的结果

数据。

如果还想看中间某个transformation的数据,在开始调试前为该transformation增加一个断点。

1.3      ServerManager的使用

1.3.1      RegisterServer(注册服务器)

任何session都必须运行在某个服务器上,所以如果ServerManager里没有服务器的话必须注册一个,当然你也可注册多个服务器。

服务器的注册过程如下:

选择ServerConfiguration–RegisterServer,Server输入的是要注册的服务器的名称;HostName输入的是运行了informatica

server的机器名或iprotocol选择TCP/IPortNumber输入4001。

最下面的是服务器的变量设置,设置的是session或batch运行时一些

文件的存放位置,比如说log文件bad文件cache文件,一般不用更改。

这样一个服务器就注册到repository了,不过后面你可以双

击它重新编辑。

1.3.2      AddDataBaseConnection(添加数据库连接)

选择ServerConfiguration–DataBaseConnection,点击Add,然后选择数据库的类型。

不同类型的数据库配置起来不一定一样,下

面说明Oracle和SQLServer两种数据库连接的配置。

Oracle类型数据库连接配置:

DataSource输入数据源名称;UserName输入数据库连接的用户名;Password输入数据库连接的密码

;ConnectString输入OracleTNS服务名。

SQLServer类型数据库连接配置:

DataSource输入数据源名称;UserName输入数据库连接的用户名;Password输入数据库连接的

密码;DatabaseName输入数据库名称;ServerName输入数据库的ip地址;DomainName输入数据库的域名。

1.3.3      AddSession(添加抽取任务)

Mapping只是数据抽取过程的设计,要使这个过程运行必须为该Mapping建立对应的session,然后运行该session。

选择Operations-

AddSession,在窗口中选择一个Mapping点击ok会出现编辑该session的窗口。

Session输入框输入该session的名称;

server选择该session将运行在的服务器;

Treatrows有Insert,Delete,Update,DataDriven四个选项,表明抽取出来的数据在目标表中作何种操作,只有在session对应的

mapping中有UpdateStategy时才能选择DataDriven而且也必须选择DataDriven;

Source框选择来源表所在的数据库;

TargetOptions中的Insert,Update(asUpdate),Update(asInsert),Update(elseInsert),Delete,Truncatetable选项的意思分

别是:

将insert作insert操作,将Update作insert操作,将Update先做Update操作不成功再作insert操作,将delete作delete操作,

在对目标表操作前删除目标表所有数据。

这些选项如果与UpdateStategy冲突server将以这里的设置为准,也就是说这里的设置可以

覆盖UpdateStategy的设置;

Parameter输入框中输入session要用到的参数或变量的所在文件的路径;

其他设置比较简单或者保持原来的值即可,这里就不再详细说明了。

除了在添加session的过程中可编辑session之外,双击已添加的session也对session重新设置。

注:

如果mapping中有Joiner的话,session的编辑窗口的SourceType就变成heterogeneous(不同类),这样就无法通过设置Source

来设置来源表的位置,只能在SourceLocationtab中为每个来源表设置位置。

1.3.4      AddBatch(添加批操作任务)

添加Batch可以将一系列的session串起来,这样就可以让必须按顺序执行的session有序的执行。

添加方法:

选择Operations-Add

Batch,在窗口中对batch进行编辑。

Batch输入框中输入batch的名称;

Parameter输入框中输入batch中的session要用到的参数或变量的所在文件的路径,由于每个session都可以设置自己的parameter,所

以batch中可以不设置,即使batch的parameter进行了设置也会被各个session自己的parameter设置所覆盖,但如果session用到了

parameter在同一个文件中的话,把parameter文件的位置设置在batch的parameter输入框就显得更方便;

Enabled选项表明是否让该batch有效;

Concurrent选项表明是否让batch中的所有session并行地运行;

Schedule中可设置batch的运行时间和运行频率。

1.3.5      Session和Batch的运行

右键单击要运行的session或者batch,选择start即可让该session或者batch立刻运行。

如果你的session或者batch的Schedule设置

不是选择的‘Runonlyondemand’,那么该session或者batch就会在设置完后就处在Scheduled状态,时间一到就会自动运行。

(可

以右击服务器选择monitor来监视运行在该服务器下的session或者batch当前状态)。

Informatica学习笔记1:

UPDATEASINSERT

问:

要求实现每天抽取数据,而且是如果有改变才抽取更新,没有就不更新,

因为源表中有最后修改时间的字段,我让它和SESSION上次运行时间比较来解决是否抽取,

但问题是有的表中没有主键,我该怎么实现更新呢?

有主键的我在WORKFLOW的MAPPING里面勾上了UPDATEELSEINSERT

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2