Informatica 常用组件使用方法
Informatica 参数的使用
1、定义参数文件Mapping Parameters(参数) 和 Variables(变量)的使用如果你在一个mapping中多次用到同一个值,又或者mapping中要用到一个在session运行才能决定的值,这时候可以使用mapping parameters或variable。
Mapping参数变量的命名方式:$$NAME存放参数变量的.txt文件的格式:[folder_name.session_name]parameter_name=valuevariable_name=valuemapplet_name.parameter_name=value[folder_name.session2_name]parameter_name=valuevariable_name=valuemapplet_name.variable_name=value[folder2_name.session_name]parameter_name=valuevariable_name=valuemapplet_name.parameter_name=value例如:[Common_Dimension.s_M_Inventory]$$BeginDate=2007-07-01$$EndDate=2007-07-31$$IsCurrentDay=0$DBConnection_Source=EM$DBConnection_Target=DC$PMSessionLogDir=C:\para2、添加参数或变量的方法是:选择Mappings-Parameters and Variables,在窗口新增变量或者参数,并对它的数据类型,数据大小,初始值进行设置。
添加的参数和变量在本mapping 的transformation的表达式中就可以使用了。
这些参数和变量的值还可以设置在.txt文件中,建session或者batch的时候把这个文件的路径设置在Parameter输入框中就行了。
Informatica PowerCenter常用转换组件使用说明
Informatica PowerCenter常用转换组件使用说明
1 Expression 作用:实现基于单行记录的表达式计算,执行任意非聚合计算。 用法:创建Expression 组件后,将需要用的字段从上一端口拖曳到Expression 组件,双击组 件,打开编辑,新增创建所需的输出端口,只勾选“O”为只输出端口,在“Expression”中 编辑表达式,确保分配与表达式返回值相匹配的端口数据类型。输出端口的命名惯例为 OUT_PORTNAME。 可以利用一个Expression 组件实现多个表达式转换工作,只要为多个输出端口输入一个 表达式,就可以在转换中创建任意多个输出端口。 2 Aggregator 作用:对多组记录执行聚合计算。 用法:将需要聚合运行的字段拖曳到Aggregator 组件,双击组件,在Port 选项卡中,勾选 要分组的列,新增输出端口,编辑聚合运算表达式。 与sort 组件联合使用可提高性能。 常用属性: Cache Directory 属性:创建索引和数据高速缓存文件的本地目录。 Sorted Input 属性:指示已按组预排序输入数据。用于改善会话性能。只有当映射将已 排序数据传递至聚合转换时,才选择此选项。 Aggregator Data Cache Size 属性:转换的数据高速缓存大小。 Aggregator Index Cache Size 属性:转换的索引高速缓存大小。 Transformation Scope 属性:指定PowerCenter Server 如何将转换逻辑应用于接收数据: -Transaction。将转换逻辑应用于事务中的所有行。如果数据行取决于同事务中的 所有行,但与其它事务中的行无关,则选择“Transaction”。 -All Input。将事务逻辑应用于所有传入数据。选择“All Input”时,PowerCenter 将放弃接收事务边界。如果数据行取决于源中的所有行,请选择“All Input”。 4 聚合函数: AVG COUNT FIRST LAST MAX MEDIAN MIN PERCENTILE STDDEV SUM VARIANCE 只允许聚合表达式出现在Aggregator Transformation 组件中。聚合表达式可以包括条件 子句和非聚合函数。还可以包括一个嵌入另一聚合函数的聚合函数,例如: MAX(COUNT(ITEM)) 可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。
informatica中常用各组件的功能
目录未找到目录项。
Informatica 数据整合分为三类数据集成,即下游集成、中游集成和上游集成下游集成:指数据仓库,显著特点是,从数据流的角度看,数据仓库的主体功能是所有应用系统的下游,所有数据都会流向数据仓库中游集成:指数据交换平台,特点是,任何平台和它的关系都是对等的,它是这个数据枢纽hub的中心点,用来支持所有系统之间数据的数据交换,用于解决数据集成毛团问题。
上游集成:指主数据平台,而且是交易型主数据平台。
用于管理企业核心数据的黄金记录,作为企业核心记录的黄金数据的标准平台。
Informatica 的四个客户端及作用:1,Repository Manager:用于管理Repository本身,如创建文件夹,导入/导出Mapping、Worlkfolw,版本管理,部署,Repository的清除。
2,Designer:用于导入ETL元数据,开发ETL程序。
在Power Center中ETL程序被叫做Mapping,即源到目标的映射。
3,Workflow Manager:用于对Mapping的进行数据源、数据目标、使用的字符集、调优及参数配置等,使Mapping能够运行。
此外,还提供了基本的调度和排程的能力。
4,Workflow Monitor:用于监控运行时的Workflow和session,监控ETL运行是否正常、执行效率及异常时的错误信息。
Power Center的开发过程:0,使用PowerCenter客户端连接域(Domian)和数据库服务器Repository Service;建立一个文件夹(Folder),用于开发学习;1,在客户端PowerCenter Designer中导入源表和目标表的结构定义;注:在Power Center Designer中导入的仅仅是表结构,与执行过程的表名无强相关2,在Designer中,创建Mapping(ETL流程)3,在Designer中,拖动源和目标,以及相应组件进入Mapping4,在Designer中,建立源和目标,以及相应组件之间的映射5,在Workflow Manager中提供相应的配置信息及参数6,通过Workflow Monitor客户端进行监控7,预览执行结果重要概念:Mapping:是一个程序,但它不直接可以执行Session:是一个Mapping的实例,指定相关的配置信息后,可以执行;Workflow:可以执行一个或者多个Session,对Session或者其他Task组件进行排程基础组件:1,Source:源文件数据源可以是数据库表,文本文件,XML文件,SAP等,应用系统、Hadoop,MQ等源文件常用方法:手工创建,通过数据库、文本文件、样例文件导入注意:理论上,源表结构定义继承了数据库中表的定义,但是实践中有可能导入后的数据类型发生变化,如表中varchar2,而导入后变为nvarchar2,从而引起Session执行异常。
Informatica _组件使用介绍及优化
CURRVAL 是 NEXTVAL 加上“增量”值。当 NEXTVAL 端口已连接下游转换时,您通 常只需要连接 CURRVAL 端口。当行输入连接到 CURRVAL 端口的转换时, PowerCenterServer 会传递最后创建的 NEXTVAL 值加 1。
16
常用属性介绍: Start Value 属性:已生成序列的开始值。如果勾选“Cycle”,当序列达到结束值时循环 回此值。 Increment By 属性:增量值。默认值为 1。 End Value 属性:结束值。如果序列值达到此值,但未勾选“Cycle”, 则Session 将失 败。 Current Value 属性:序列的当前值。 Cycle 属性:是否循环。(勾选后会按顺序生成序列,重新执行序列不会重复,未勾选 时,重新执行序列会产生重复值) Number of Cached Values 属性:一次高速缓存的序列值数。当多个会话使用相同的可 再 用序列生成器时,使用此选项可以确保每个会话收到唯一的值。 Reset 属性:如果勾选,则每个Session 会初始当前值。
10
Union组件
11
作用: 合并多个数据源到一个结果集。与执行“UNION ALL”SQL 语句结果相似,联合转换不会 删除重复行。
使用规则:
可以创建多个输入组,但只能创建一个输出组。所有输入组和输出组均必须具有匹配的 端口。所有组中的精度、数据类型和标度必须相同。 联合转换不会删除重复行。要删除重复行,您必须添加另一个转换,例如Router 或 Filter转换。 不能使用以Union 组件作为上游的序列生成器或更新策略转换。 联合转换不会生成事务 。选项卡设置: “Groups”选项卡。您可以创建和删除输入组。在“Ports”选项卡上能显示创建了的组。
原创Informatica使用说明(图解)
Informatica使用说明(图解)唾沫星冲锋枪 2013-4-22目录前言 (3)第一篇环境搭建 (3)服务器 (3)准备 (3)安装 (3)配置 (17)客户端 (23)准备 (23)安装 (24)介绍 (28)第二篇开发应用 (28)Repository Manager (28)环境介绍 (28)配置目录 (31)Designer (33)环境介绍 (33)配数据源 (34)引入数据源 (36)引入数据目标表 (38)制作Mapping (40)WorkFlow Manager (43)制作session (43)配置服务器数据源 (44)配置session源 (46)配置session目标 (47)制作workflow (48)执行workflow (50)WorkFlow Monitor (50)第三篇监控维护 (51)基本信息查看 (51)运行时间查看 (51)Session日志查看 (52)Workflow日志查看 (52)结束语 (53)前言个人从事ETL方面工作多年,各种工具都有一定了解,POWERCENTER是较为优秀的产品之一。
POWERCENTER是C/S模式,客户端开发服务器运行,本文主要介绍POWERCENTER 基本使用部分,详细的各个组件使用可以查阅相关帮助文档。
第一篇环境搭建服务器准备因为INFORMATICA把配置信息和开发的ETL过程信息都保存在资料库里,所以要预先准备一个数据库资料库。
本文采用oracle做资料库,名称INFO用户INFO密码INFO,配置好数据库的监听。
安装找到软件SERVER目录下的install.bat运行。
POWERCENTER的授权文件是按数据库接口出售的,支持数据库越多价格越高。
这里请注意配置,之前准备好的数据库资料库。
安装完成后可以查看一下服务项里面是否正常。
安装补丁。
因机器不同选择相应的补丁版本,如64位server系统需要补丁。
Informatica自定义java组件 Transformation
Informatica提供可编辑的自定义的java组件,用户可以通过编写java代码来实现自己的数据转换要求。
组件图标如下图所示:
使用时会提示我们需要的是Active或者Passive,如下图
我们根据需要选择类型,这样我们就建出了一个java Transformation,如下图
试用方法跟其他组件相似,只不过灵活性强了,将我们需要的字段拖拽至java Transformation,如下图
双击进入Java Transformation编辑,如图所示有4个tab
我们看到,在ports tab里,跟其他非常相似,我们可以新建,选择输入输出,
接下来我们需要在Java Code里编写我们的逻辑代码
左上角有我们的输入跟输出,在这里我们可以直接拿来用,我们只需要写出逻辑代码,Import Packages是用来将我们需要用的包在这里引入
On Input Row 是用来写对数据处理的逻辑代码。
蓝色字体Compile,类似编译,检查我们自己写的代码是否正确。
编译结果会显示在下方的展示台
Full Code,可以查看完整的代码。
Informatica_(3)组件
Informatica_(3)组件⼀、Informatica介绍Informatica PowerCenter 是Informatica公司开发的世界级的企业数据集成平台,也是业界领先的ETL⼯具。
Informatica PowerCenter使⽤户能够⽅便地从异构的已有系统和数据源中抽取数据,⽤来建⽴、部署、管理企业的数据仓库,从⽽帮助企业做出快速、正确的决策。
此产品为满⾜企业级要求⽽设计,可以提供企业部门的数据和电⼦商务数据源之间的集成,如XML,⽹站⽇志,关系型数据,主机和遗留系统等数据源。
此平台性能可以满⾜企业分析最严格的要求。
Informatica PowerCenter已被全球多家著名企业⽤来建设BI/DW系统,它可集成和分析企业的关键商务信息,优化整个商务价值链的表现和响应速度。
Informatica PowerCenter拥有⼀个功能强⼤的数据整合引擎,所有的数据抽取、转换、装载的功能都是在内存中执⾏的,不需要开发者⼿⼯编写这些过程的代码。
Informatica PowerCenter 数据整合引擎是元数据驱动的,通过知识库和引擎的配对管理,可以保证数据整合过程能够最优化执⾏,并且使数据仓库管理员⽐较容易对系统进⾏分析管理,从⽽适应⽇益增加的数据装载和⽤户群。
⼆、informatica开发步骤:定义源: Desinger定义⽬标: Desinger创建映射: 源--》转换组件--》⽬标Mapping都是由源表、转换组件和⽬标表组成,⽤于描述数据抽取的过程。
源表和⽬标表可以从源和⽬标⽂件夹拖拽到⼯作区,转换组件需要⼿动创建。
Mapping设计的关键就是转换组件的使⽤,这关系到数据抽取的正确性和效率。
定义任务: Workflow Manager创建⼯作流: Workflow Manager⼯作流调度监控 : Workflow Monitor三、转换组件1. 组件列表Source Qualifier 从数据源读取数据Expression ⾏级转换Filter 数据过滤Sorter 数据排序Router 条件分发joiner 异构数据关联连接Lookup 查询连接Aggregator 聚合Update Strategy 对⽬标编辑(insert\update\delete\reject)Union 数据合并Sequence Generator 序列号⽣成器Normalizer 记录规范化Rank 对记录进⾏TOPxTransaction Control 对装载数据按条件进⾏事物控制Stored Procedure 存储过程组件Custom ⽤户⾃定义组件HTTP WWW组件Java Java⾃编程组件其它应⽤组件2. 组件类型Passive类型:流⼊流出组件的⾏数不发⽣变化,如:Expression、Lookup、HTTP组件。
Informatica_常用组件使用方法
常用组件使用方法表1中列出的是informatica中的所有组件。
不会在本文档中出现的会在组件名后标出。
表1Lookup概要描述获得一个关联的值。
例如:源里包含employee ID,但你还需要employee name。
用于计算的值。
例如:只是汇率或者个人所得税之类的固定数值,不是计算得出来的数据。
Update slowly changing dimension tables。
主要是根据条件查出原表,若查出了,就把自己添加的标志位设为真,否则就设置为假。
Connected or unconnectedConnected 和unconnected 的transformations的输入和输出是不同的,不同点如表2列出的。
表2Connected下面是Integration Service处理connected Lookup transformation的过程:1.一个connected Lookup transformation通过pipeline从其他的transformation获得输入值。
2.为每个输入行,Integration Service会通过lookup ports 和condition从源或者缓存中查询。
3.如果组件没有使用缓存或者使用的静态缓存,Integration Service会使用lookupquery来返回值。
4.如果组件使用的动态缓存,当Integration Service在缓存找不到这行,它会把这行插入到缓存中。
当Integration Service找到这行,它会修改这行在缓存中或者什么都不做。
它标记这行是插入、修改或者是不做变动。
5.Integration Service从查询中返回值到下一个transformation。
如果transformation使用动态缓存,你可以把这行通过Filter 或者Router transformation来过滤后在到目标中。
informatica调存储过程
informatica调用存储过程1、建立源:
2、此处选择文件类型:文件名字为: log
3、源属性中必须建立一个列作为输出:
4、设计mapping
如果存储过程中需要传入参数,可以使用表达式组件:
表达式组件必须有一个输入列,此列可以不用输出,想加入的变量可以不用输入,直接在表达式计算器中输入所需要的值即可,此处可以用informatica系统自带的函数:
5、在组件栏选择调用存储过程组件:
6、点击设计工作区,会弹出跟选择目标表一样的窗口,但此处显示的是目标数据库中的存储过程和函数:
7、选择相应的存储过程,存储过程组件会显示在工作区,并且需要输入和输出的参数都会自动添加在此组件上:注意此方法调用的存储过程必须有返回值,目的是为了使流能够继续流下去。
可以在存储过程中加入:
returning integer;
…
Return 1;
此处还需要注意的是:存储过程中一定要写Commit; 语句,否则数据库可能不提交!
8、可以找一个用过的临时表当做目标,目标如果也用文件可能会报错,整个流设计如下:
9、设置session中源的属性:注意必须在此路径下建此文件,此例文件名为log ,路径为/home/infa/informatica/server/SrcFiles/
10、测试通过:。
etl流程中Informatic的使用
ETL流程中Informatica的使用什么是ETL流程ETL(Extraction-Transformation-Loading)是一种数据处理过程,用于从多个数据源中提取数据,并将其转换为可用于分析和存储的目标数据库或数据仓库。
这是一种重要的数据集成方法,可用于整理、转换和处理大量的数据。
Informatica简介Informatica是一种用于数据集成和管理的强大软件平台。
它提供了一个统一的环境,使用户能够从各种源系统中提取数据,并将其转换、清洗和加载到目标系统中。
Informatica具有灵活的架构和丰富的功能,可以轻松处理各种ETL任务。
Informatica的主要组件Informatica由几个主要组件组成,每个组件都具有不同的功能和用途。
以下是Informatica的主要组件:1.源系统连接器:Informatica提供了许多连接器,用于连接不同类型的源系统,如关系型数据库、文件、Web服务等。
2.转换器:Informatica提供各种转换器,用于对数据进行各种转换和操作,如清洗、过滤、合并、拆分等。
3.加载器:Informatica的加载器组件用于将转换后的数据加载到目标系统中,如数据仓库、数据湖等。
4.目标系统连接器:Informatica支持将数据加载到不同类型的目标系统中,包括关系型数据库、文件等。
5.管理控制台:Informatica的管理控制台用于管理和监视ETL流程,包括任务调度、错误处理等。
ETL流程中使用Informatica的步骤在进行ETL流程中使用Informatica时,通常需要按照以下步骤进行操作:1.需求分析:首先,需要明确ETL流程的需求和目标,包括数据来源、目标系统、数据转换规则等。
2.数据提取:使用Informatica的源系统连接器,从源系统中提取数据。
可以选择适合的连接器,如关系型数据库连接器、文件连接器等。
3.数据转换:使用Informatica的转换器组件对提取的数据进行必要的转换和操作。
Informatica简单使用
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. 新建带过滤条件的workflowD:①选在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⾥⾯写⼊过滤的参数条件。
Informatica组件应用详解
Informatica组件介绍一、update的功能Update 主要是与lookup相组合的搭档。
根据lookup来与源表数据相对比,来跟新数据数据抽取。
它起到一个插入和拒绝的作用。
1.Powercenter的更新策略包括两个方面:A.在Mapping中:用Update Strategy Transformation标识行为Insert,Update,Delete或者Reject;B.在Session中:配置Treat source row as 属性(Insert,Update,Delete或者Data driven),配置Target的属性(Insert,Update [as Update](只是更新) | [as Insert](把更新视为新增) | [else Insert](先更新,更新不到则新增) ,Delete,Truncate target table option);2.在Update Strategy Expression中可以输入常量(DD_INSERT, DD_UPDATE,DD_DELETE, DD_REJECT)或者数字值(0,1,2,3),其它数字值被解析为0,可以用IIF或者DECODE函数构建逻辑表达式来区别每一行的更新策略;3.Forward Rejected Rows:勾选时被Rejected的行会存入对应Target配置的Reject文件中去,不选时,可能会写入Session Log中去,根椐当前Transformation的Tracing Level的属性来决定;如果在会话属性中配置了出错行日志属性,则不会生成Reject文件;二、Expression 的功能表达式编辑器可以使用不同的颜色来标记表达式的语法,以便很好的阅读。
如果你有最新的Rich Edit,riched20.dll,安装到了系统,表达式显示表达式函数为兰色,注释式灰色,引用的字符串式绿色。
Informatica常用组件Lookup之一概述
Informatica常⽤组件Lookup之⼀概述转换类型:被动、已连接/未连接在映射中使⽤查找转换以从平⾯⽂件或关系表、视图或同义词查找数据。
您可以从 PowerCenter Client 和 PowerCenter Server 均连接⾄的任何平⾯⽂件或关系数据库中导⼊查找定义。
您可以在⼀个映射中使⽤多个查找转换。
PowerCenter 基于转换中的查找端⼝来查询查找源。
它基于查找条件将查找转换端⼝值与查找源列值相⽐较。
将查找结果传递⾄其它转换和⽬标。
您可以使⽤查找转换执⾏多项任务,包括:获取相关值。
例如,源包括员⼯标识,但您需要在⽬标表中包括员⼯名称,以便让汇总数据更易于理解。
执⾏计算。
许多规范化表都包括在计算中使⽤的值(如每张发票的销售总额或销售税),⽽不是计算出的值(如净销售额)。
更新缓慢更改的维表。
您可以使⽤查找转换来确定⽬标中是否已存在特定⾏。
可以配置查找转换以执⾏以下类型的查找:已连接或未连接。
已连接和未连接转换接收输⼊和发送输出的⽅法不同。
关系或平⾯⽂件查找。
创建查找转换时,您可以选择在平⾯⽂件还是关系表中执⾏查找。
使⽤关系表作为查找源来创建查找转换时,您可以使⽤ ODBC 连接到查找源并导⼊表定义作为查找转换的结构。
使⽤平⾯⽂件作为查找源创建查找转换时,Designer 将调⽤"平⾯⽂件向导"。
⾼速缓存或不⾼速缓存。
有些时候您可以通过⾼速缓存查找表来提⾼会话性能。
如果⾼速缓存查找,您可以选择使⽤动态或静态⾼速缓存。
默认情况下,查找⾼速缓存保持静态且不会在会话过程中更改。
对于动态⾼速缓存,PowerCenter 将在会话期间在⾼速缓存中插⼊⾏或更新⾏。
将⽬标表⾼速缓存为查找时,您可以在⽬标中查找值;如果这些值不存在则插⼊这些值,如果已存在则进⾏更新。
注:如果使⽤平⾯⽂件查找,则必须使⽤静态⾼速缓存。
Informatica常用组件Lookup之四查找组件
Informatica常⽤组件Lookup之四查找组件 在映射中配置查找转换时,请定义以下组件:查找源端⼝属性条件元数据扩展查找源您可以使⽤平⾯⽂件或关系表作为查找源。
创建查找转换时,您可以从以下位置导⼊查找源:资料库中的任何关系源或⽬标定义资料库中的任何平⾯⽂件源或⽬标定义PowerCenter Server 和 PowerCenter Client 机器都可以连接到的任何表或⽂件查找表可以是单个表,您也可以使⽤查找 SQL 覆盖以将相同数据库中的多个表联接起来。
PowerCenter 为所有传⼊查找转换的⾏,查询查找表或内存中的⾼速缓存。
PowerCenter 可使⽤本地数据库驱动器或 ODBC 驱动器连接到查找表。
但是,本地数据库驱动器能够提⾼会话性能。
索引和查找表如果您拥有修改包含查找表的数据库的权限,则可以通过添加索引到查找表来缩短查找初始化时间。
这对超⼤查找表⾮常重要。
由于PowerCenter 需要查询、排序和⽐较这些列中的值,因此索引应包含查找条件中使⽤的各列。
您可以通过对以下查找类型编制索引来提⾼性能:⾼速缓存的查找。
您可以通过对 ORDER BY 查找中的列编制索引来提⾼性能。
会话⽇志包含 ORDER BY 语句。
不⾼速缓存的查找。
由于 PowerCenter 为传递给查找转换的每⾏发出 SELECT 语句,因此您可以通过对查找条件中的列编制索引来提⾼性能。
查找端⼝"端⼝"选项卡包含的选项与其它转换中的类似,如端⼝名称、数据类型和标度。
除了输⼊和输出端⼝,查找转换还包括⼀个代表查找源中数据列的查找端⼝类型。
未连接的查找转换也包括⼀个代表返回值的返回端⼝类型。
端⼝查找类型要求数量说明I已连接未连接最⼩值为1输⼊端⼝。
为每个需要在查找条件中使⽤的查找端⼝创建⼀个输⼊端⼝。
您必须在每⼀个查找转换中拥有⾄少⼀个输⼊或输⼊/输出端⼝。
O已连接未连接最⼩值为1输出端⼝。
Informatica常用组件Expression之二创建EXP组件
Informatica常⽤组件Expression之⼆创建EXP组件在 Mapping Designer 中选择"转换-创建"。
选择表达式转换。
为它输⼊⼀个名称(惯例为 EXP_TransformationName)并单击"确定"。
创建输⼊端⼝。
如果您有可⽤输⼊转换,则可以从"版⾯"菜单中选择链接列,然后单击计算中所使⽤的每个端⼝并拖动⾄表达式转换。
使⽤这种⽅法,Designer 可将端⼝复制到新的转换并在两个端⼝间创建连接。
或者,您也可以打开转换并⼿动创建每个端⼝。
注:如果您希望此转换可再⽤,则必须在转换中⼿动创建每个端⼝。
对要添加⾄表达式的每个输⼊端⼝重复上⼀步骤。
创建所需的输出端⼝ (O),确保分配与表达式返回值相匹配的端⼝数据类型。
输出端⼝的命名惯例为 OUT_PORTNAME。
单击对话框表达式部分中的⼩按钮,并在表达式编辑器中输⼊表达式。
尽可能使⽤列出的端⼝名称和函数。
如果您选择未连接⾄转换的端⼝,Designer 将复制端⼝⾄新的转换中并在两个端⼝间创建连接。
在表达式转换中作为表达式⼀部分的端⼝名称⽐其它转换类型中的端⼝名称遵循的规则更严格。
端⼝名称必须以单或双字节字母或单或双字节下划线 (_) 开头。
可以包含以下任意的单或双字节字符:字母、数字、下划线 (_)、$、# 或 @。
通过单击"验证"检查表达式语法。
如有必要,对表达式进⾏改正并再次检查语法。
然后保存表达式并退出表达式编辑器。
将输出端⼝连接⾄下⼀个转换或⽬标。
在"属性"选项卡上选择跟踪级别以确定会话⽇志⽂件中详细报告的事务量。
选择"资料库-保存"。
Informatica常用组件Lookup之六查询
Informatica常⽤组件Lookup之六查询 PowerCenter 基于您在查找转换中配置的端⼝和属性来查询查找。
当第⼀⾏输⼊到查找转换时,PowerCenter 运⾏⼀个默认的 SQL 语句。
如果使⽤关系查找,您可以在"查找 SQL 覆盖"属性中⾃定义默认查询。
默认查找查询默认查找查询包含以下语句:SELECT。
SELECT 语句包括映射中的所有查找端⼝。
您可以通过使⽤查找 SQL 覆盖属性⽣成 SQL 来查看 SELECT 语句。
切勿在默认 SQL 语句中添加或删除任何列。
ORDER BY。
ORDER BY 语句按照列在查找转换中出现的顺序对列排序。
PowerCenter ⽣成 ORDER BY 语句。
使⽤查找 SQL 覆盖属性⽣成默认 SQL 时,您不能查看此操作。
覆盖查找查询查找 SQL 覆盖与在源限定符转换中输⼊⾃定义查询类似。
您可以覆盖关系查找的查找查询。
您可以输⼊整个覆盖,或⽣成并编辑默认 SQL 语句。
Designer 为查找 SQL 覆盖⽣成默认 SQL 语句时,它将包括查找条件中的查找/输出端⼝和查找/返回端⼝。
在以下情况中,覆盖查找查询覆盖 ORDER BY 语句。
对较少的列创建 ORDER BY 语句以提⾼性能。
覆盖 ORDER BY 语句时,您必须使⽤备注记数法来抑制已⽣成的 ORDER BY 语句。
查找表名称或列名称含有保留字。
如果查找查询中的表名称或任何列名称含有保留字,您必须确保已⽤引号将所有保留字括起来。
使⽤映射参数和变量。
输⼊查找 SQL 覆盖时,您可以使⽤映射参数和变量。
但是,Designer 不可以在查询覆盖中扩展映射参数和变量且不会验证查找 SQL 覆盖。
在查找 SQL 覆盖中运⾏带有映射参数或变量的会话时,PowerCenter 将扩展映射参数和变量,并连接到查找数据库以验证查询覆盖。
查找列名称含有斜杠 (/) 字符。
⽣成默认查找查询时,Designer 和 PowerCenter 将查找列名称中的每⼀个斜杠字符 (/) 替换为下划线字符。
informatica基本使用方法
informatica基本使用方法1. INFORMATICA CLIENT的使用1.1 Repository Manager 的使用1.1.1 创建Repository。
前提:a. 在ODBC数据源管理器中新建一个数据源连接至你要创建Repository的数据库(例:jzjxdev)b. 要在你要连接的数据库中新建一个用户(例:name: ETL password:ETL)现在你可以创建一个Repository了。
选择Repository –Create Repository,输入Repository Name(例:JZJX),Database Username(例:etl),Database Password(例:etl),ODBC Data Source(例:jzjxdev),Native Connect String(数据库所在ip例:141.20.52.108)1.1.2 添加Repository。
通过这一步你可以添加别人已经建好的Repository。
选择Repository – Add Repository,输入Repository Name(例:JZJX),Username(例:etl),点击ok就可以看到名为JZJX的Repository在左边的浏览器中,但是此时还看不到它的内容,要看到它的内容或者对它进行操作必须先连接它。
1.1.3 添加Folder选择Folder – Create,输入文件夹名称即可。
1.2 Designer 的使用首先连接Repository,可以看到该Repository在Repository Manager中创建的文件夹。
1.2.1 SourcesSources文件夹下的表是抽取的来源表。
导入方法:选择T ools菜单下的Source Analyzer,然后选择Sources菜单下的Import from database,连接想要连接的数据库,连接上后选择你要抽取的表点击ok你所选择的表就会出现在Sources文件夹下。
Informatica-时间增量抽取更新图文教程
Informatica 时间增量抽取更新图文教程一种是:按时间抽取一种是:对比更新抽取源表T_SOURCETABLE初始有两条测试数据目标表T_TARGETTABLE初始默认清空一、按时间戳抽取首先,我们根据CREATE_DT来进行数据的增量抽取,模拟场景为第一次抽取全部数据,第二次抽取第一次抽取之后新增的数据。
1、MAPPING图如下,主要使用了一个Expression组件:2、选择Mappings菜单的参数与变量选项设置变量v_pumpdt3、新建变量$$v_pumpdt,类型选择变量,数据类型选择 date/time,汇总方式选择MAX。
下面的初始值用于第一次全量更新,可以根据实际情况设置,我这设置成01/01/1970 00:00:01。
4、修改SQ组件的过滤方式:5、可以先用生成SQL按钮自动生成select语句,然后下面增加过滤条件:whereT_SOURCETABLE.CREATE_DT>=to_date('$$v_pumpdt','mm/dd/yyyyhh24:mi:ss')andT_SOURCETABLE.CREATE_DT<to_date('$$$SESSSTARTTIME','mm/dd/yyyyhh24:mi:ss')即只过滤出从变量v_pumpdt值到抽取任务执行时间值之间这段时间create的数据。
完成后可以用验证按钮验证语句的准确性。
这里要注意日期时间类型字段的数据格式,由于服务器设置不同可能格式不同,而如果你取到的数据值和你指定的格式不匹配,在后面执行抽取任务时会报错。
我这个测试环境的格式是'mm/dd/yyyy hh24:mi:ss'6、修改Expression组件,增加一个表达式,把$$v_pumpdt的默认值置为SESSSTARTTIME的值, 这样下次执行时, 则会从这个时间,即上次session 执行时间开始算起, 达到个增量的目的。
Informatica 常用组件Aggregator之一 聚合表达式
转换类型:已连接、主动聚合转换允许您执行聚合计算,比如平均值和总和。
聚合转换与表达式转换不同,您可以使用聚合转换对多组执行计算。
而表达式转换只允许您逐行地执行计算。
使用转换语言来创建聚合转换时,您可以使用条件子句过滤行,这比SQL 语言更为灵活。
PowerCenter 执行其读取的聚合计算并存储聚合高速缓存中必需的数据组和行数据。
创建包含聚合转换的会话后,您可启用会话选项和增量聚合。
当PowerCenter Server 执行增量聚合时,它会通过映射传递新的源数据并使用历史高速缓存数据以增量执行新的计算。
设计器只允许聚合表达式出现在聚合转换中。
聚合表达式可以包括条件子句和非聚合函数。
还可以包括一个嵌入另一聚合函数的聚合函数,例如:MAX( COUNT( ITEM ))聚合表达式的结果因转换中使用的分组依据端口而异。
例如,当PowerCenter 计算以下不带已定义分组依据端口的聚合表达式时,它将会查找已售出项目的总量:SUM( QUANTITY )但是,如果您使用同一表达式并按ITEM 端口分组,PowerCenter 将按项目返回已售出项目的总量。
您可以在任意输出端口创建聚合表达式并使用转换中的多个聚合端口。
聚合函数可以使用聚合转换中的以下聚合函数。
也可以将一个聚合函数嵌入另一个聚合函数。
∙AVG∙COUNT∙FIRST∙LAST∙MAX∙MEDIAN∙MIN∙PERCENTILE∙STDDEV∙SUMVARIANCE当您使用这些函数中的任意一个时,必须要在聚合转换的表达式中使用。
嵌套聚合函数可以在聚合转换的不同输出端口中纳入多个单级别或多个嵌套函数。
但是,您不能在聚合转换中同时纳入单级别和嵌套函数。
因此,如果聚合转换在任意输出端口中包含单级别函数,您将无法在此转换的其它任意端口使用嵌套函数。
当您在同一聚合转换中包含单级别和嵌套函数时,设计器将标记映射或映射组件为无效。
如果您需要创建单级别函数和嵌套函数,请分别建立聚合转换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用组件使用方法表1中列出的是informatica中的所有组件。
不会在本文档中出现的会在组件名后标出。
表1Lookup概要描述获得一个关联的值。
例如:源里包含employee ID,但你还需要employee name。
用于计算的植。
例如:只是汇率或者个人所得税之类的固定数值,不是计算得出来的数据。
Update slowly changing dimension tables。
主要是根据条件查出原表,若查出了,就把自己添加的标志位设为真,否则就设置为假。
Connected or unconnectedConnected 和unconnected 的transformations的输入和输出是不同的,不同点如表2列出的。
表2Connected下面是Integration Service处理connected Lookup transformation的过程:1.一个connected Lookup transformation通过pipeline从其他的transformation获得输入值。
2.为每个输入行,Integration Service会通过lookup ports 和condition从源或者缓存中查询。
3.如果组件没有使用缓存或者使用的静态缓存,Integration Service会使用lookupquery来返回值。
4.如果组件使用的动态缓存,当Integration Service在缓存找不到这行,它会把这行插入到缓存中。
当Integration Service找到这行,它会修改这行在缓存中或者什么都不做。
它标记这行是插入、修改或者是不做变动。
5.Integration Service从查询中返回值到下一个transformation。
如果transformation使用动态缓存,你可以把这行通过Filter 或者Router transformation来过滤后在到目标中。
unconnected●你可以在一个mapping中调用这个Lookup transformation多次。
●下面的步骤描述了Integration Service处理一个unconnected Lookup transformation的过程:1.一个unconnected Lookup transformation从另一个transformation的一个:LKP表达式的结果中获得输入值,例如一个Update Strategy transformation。
2.Integration Service通过transformation 中的lookup ports 和condition来查询。
3.Integration Service返回一个值到Lookup transformation 的return port 中。
4.Integration Service把值返回到:LKP表达式中。
●步骤1.添加input ports。
2.添加查询条件。
3.指定返回值。
4.从其他的组件中调用该lookup。
●用途unconnected lookups多数用于:1.在一个表达式测试一个lookup的值。
2.在查询的基础上过滤。
3.标记行基于查询的结果,例如:updating slowly changing dimension tables。
4.调用同一个查找多次在一个mapping中。
Relational or flat file lookup当你在建立一个Lookup transformation时,你可以选择查询flat file或者relational table。
Relational你可以通过SQL的来override默认的SQL,这样可以你可以加where或者查询多个表。
flat file使用下面选项在使用flat file时:1.指定源是indirect files的。
2.使用sorted输入。
Tips●使用这些技巧在你配置一个Lookup transformation的时候:●给被用于查询条件的列加一个索引。
●把=号放在条件的第一位。
●查询的时候,完全加载小的表。
●在数据库中Join tables比使用查询要高校的多。
●为静态cache设置固定的大小。
●使用:LKP来调用unconnected Lookup transformations。
Cached or uncached有时,你可以在使用lookup组件查询表的时候,把组件设置成Cached 的来提高session的速度。
如果你选择了Cached ,你可以选择使用动态的还是静态的。
默认的是使用静态的。
Cached我们可以在一个lookup组件中为要查询的表配置cache。
当第一行数据进入lookup组件的时候,Integration Service会在内存为它建立一个cache。
它分配内存基于你在组件或者session 的属性中配置的数量。
Integration Service把条件值保存索引cache,把output值保存在数据cache。
Integration Service会为每一条进入这个组件的行查询cache。
Integration Service也同样会建立cache files用$PMCacheDir(相对路径,在consol中可以配置)中默认的。
如果数据不适合内存cache时,Integration Service把超出的数据保存到cache files中。
当seesion结束,Integration Service会释放cache记忆和删除cache files,除非你配置组件使用持久化的cache。
如果你使用flat file lookup,Integration Service总是会把它放在cache中。
如果你配置flat file lookup为sorted input,Integration Service不会把它放入cache,如果条件类不是分组的。
如果这些列是分组的,但是没有sorted,Integration Service会处理这个查询的方式和没有配置sorted input一样。
当你配置了lookup cache,你可以配置如下cache选项:Building caches:你可以配置session建立多个cache用串行或者并行。
当你建立串行的cache时,Integration Service会按照源行进入的顺序建立cache。
当你建立并行的cache 时,Integration Service不会等第一行进入Lookup transformation,就会建立cache。
代替的是建立多个并行的cache。
Persistent cache:你可以保存lookup cache files并重用他们在Integration Service调用一个配置使用该cache的Lookup transformation。
Recache from source:当持久化的cache不是同步的时候,你可以配置Lookup transformation重新建立新的cache。
Static cache:你可以为所有的lookup source配置一个静态,或者只读的cache。
默认的,Integration Service建立静态的cache。
它为所有进入组件的lookup file或者table 以及looks up values建立cache。
当条件为真的时候,Integration Service从cache中返回一个值。
Dynamic cache:为一个target table或者flat file source建立cache,并且向cache中插入新的行或者修改现有的行,当使用动态cache。
在cache中,Integration Service动态的插入或者修改数据并且把数据传到目标中。
Shared cache:你可以共享cache在多个组件之间。
你可以共享一个匿名的cache在一张mapping中。
你可以共享一个有名的cache在同一个或者不同的mapping中。
当你没有为Lookup transformation配置cache,Integration Service为每一个输入行查询查询表。
结果和处理过程是同样的,不论你是否设置cache。
然而,使用cache可以改善session 的性能。
当被查询的表很大的时候可以使用cache最大的优化性能。
Cache Comparisonuncached lookup, static cache, dynamic cache的区别:Aggregator TransformationTransformation type: Active 、Connected功能概述:可以使用该组件可以进行汇总计算,如平均值和求和等。
Aggregator transformation和Expression transformation不一样,在Aggregator transformation 中执行计算是要分组的。
Expression transformation只允许你执行计算在row-by-row的基础上的。
当你使用transformation建立汇总表达式的时候,使用条件语句来过滤行,比SQL 语句要灵活的多。
Integration Service执行汇总计算,只读和储存必要的数据组和行数据在aggregate cache中的。
Ports in the Aggregator Transformation (Aggregator Transformation中的port)配置Aggregator Transformation中的port,完成如下的任务:输入表达式在任何output port,使用条件或者非汇总函数在该port中。
建立多行汇总的output port。
配置任何input, input/output, output, 或者variable port作为group port。
改进性能,为后来的组件只连接必要的input/output port,减少数据cache的大小。
使用变量port作为本地变量。
建立一个连接像一个表达式一样。
Components of the Aggregator Transformation(汇总组件的组成)汇总组件是一个active的组件,改变pipeline中的行数。
汇总组件拥有下面的构成和选项:汇总表达式(Aggregate expression):在一个output port中输入。
可以包括非汇总表达式和条件子句。
汇总函数(Aggregate Functions)你可以把一个汇总函数嵌套在另一个汇总函数中。