Informatica简明使用手册- CLIENT 的使用

1.

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就可以看到名为JZJXRepository在左边的浏览器中,但是此时还看不到它的内容,要看到它的内容或者对它进行操作必须先连接它。


1.1.3
添加Folder 选择Folder Create,输入文件夹名称即可。


1.2 Designer
的使用
首先连接Repository,可以看到该RepositoryRepository Manager中创建的文件夹。

1.2.1 Sources
Sources
文件夹下的表是抽取的来源表。
导入方法:选择Tools菜单下的Source Analyzer,然后选择Sources菜单下的
Import
from database
,连接想要连接的数据库,连接上后选择你要抽取的表点击ok你所选择的表就会出现在Sources文件夹下。
说明:上面的导入过程导入的只是表结构,你也可以自己创建来源表,只要你创建的表
的结构跟真实存在的那张表的表结构一致就行。


1.2.2 Targets
Targets
文件夹下的表是抽取的目标表,也就是抽取结果的存放表. 导入方法: 选择Tools菜单下的Warehouse Designer,然后选择Targets菜单下的Import from database,连接想要连接的数据库,连接上后选择你要抽取的表点击ok你所选择的表就会出现在Targets文件夹下。
说明:上面的导入过程导入的只是表结构,你也可以自己创建目标表,只要你创建的表
的结构跟真实存在的那张表的表结构一致就行。


1.2.3 Mappings
的设计
选择Tools菜单下的Mapping Designer才能进行Mapping的设计。
每个Mapping都由来源表,transformation和目标表组成,描述数据抽取的过程。来源表和目标表可以从SourcesTargets文件夹拖拽到工作区,但是transformation一般来说是需要自己创建的。Mapping的设计关键是transformation的使用,它的使用关系到数据抽取的正确性和效率。下面说明各个transformation的作用和用法。
Active:表示该transformation可以改变通过它的数据的行数;

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

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

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


1.2.3.1 Source Qualifier
作用:根据查询SQL文从关系表或平坦文件查出所要记录
用法:创建好Source Qualifier(下简称SQ) 后,将需要的用的字段从来源表拖拽到SQ ,双击SQ,SQ的属性进行设置。

Select Distinct
属性:选中的话表明结果记录将去除重复值
;
Tracing Level
属性: 共有四级,表示log的复杂程度
;
Number Of Sorted Ports
属性: 排序的字段个数,值大于0Sql Query中的sql 文将出现order by 从句
;
Sql Filter
属性: 属性值将出现在Sql Query属性值的where表达式中
;
User Defined Join
属性: 用户如果要定义外部连接可在此写(
: {REG_CUSTOMER LEFT OUTER JOIN PURCHASES on (REG_CUSTOMER.CUST_ID = PURCHASES.CUST_ID AND PURCHASES.AMOUNT > 100.00) })
Sql Query
属性:值是一条sql 文,session运行时会执行这条sql 文进行查询。
命名方式:SQ_Name 类型:Active/Connected 注意:SQ的输入只能来自来源表; User Defined Join属性值必须用{}括起来;在更改了SQ的属性值之后一定要点击Sql Query属性的generate sql按钮重新生成sql文。


1.2.3.2 Update Strategy
作用:决定该行进行插入,删除,更新,忽略中的哪一种操作
用法:创建好Update Strategy(下简称US)后,将需要的用的字段从transformation拖拽到US ,双击US,US的属性进行设置。US的设置关键是Update Strategy Expression属性的设置,这个表达式使用IIF DECODE 函数对记录的每一行进行判断,为每一行赋予DD_INSERTDD_UPDATEDD_DELETEDD_REJECT(这四个是常量,值分别为0123)中任意一个值,表明该行在数据库中将进行何种操作。
命名方式:UPD_Name 类型:Active/Connected 注意:mapping中有US,mapping对应的session的在配置属性时必须把Treat rows属性设置为Data Driven,否则US将不起作用。


1.2.3.3 Expression
作用:计算一个值
用法:创建好Expression(下简称EXP)后,将需要的用的字段从来源表拖拽到EXP,双击
EXP,
新增输出端口,编辑该端口的表达式。
命名方式:EXP_Name 类型:Passive/Connected 注意:要进行列运算一般用这个transformation; 此种transformation可以使用本地变量


1.2.3.4 Stored Procedure
作用:调用一个存储过程
用法:创建Stored Procedure(下简称SP)的时候连接数据库选择必要的存储过程。SP有连接和不连接到数据流两种用法。
连接到数据流方式跟一般的transformation类似,通过拖拽端口来实现数据流。
不连接到数据流分表达式调用和Pre-/Post Session两种方式。表达式调用方式中SPMapping中另一个transformation 中的表达式调用。Pre-/Post Session方式就是在Session的属性中配置SP的运行时间,Source Pre-load(Session从源表查询数据之前)Source Post-loadSession从源表查询数据之后),Target Pre-loadSession将数据插入目标表之前),Target Post-loadSession将数据插入目标表之后)
命名方式:SP_Name 类型:Passive/Connected or Unconnected 注意:

1.2.3.5 Sequence Generator
作用:产生主键
用法:创建好Sequence Generator(下简称SEQ)后,双击SEQ,SEQ的属性进行设置。Start Value属性是开始值,此属性只在选择了Cycle选项才有效;Increment By 属性值是每次增加的值;End Value属性值是结束值;Current Value属性值是当前开始值;Cycle选项被选择的话NEXTVAL的值达到End Value值之后会重新从Start Value开始;Reset选项被选择的话,服务器会为每个使用了该SEQsessionNEXTVAL值都从Current Value开始。
命名方式:SEQ_Name 类型:Passive/Connected 注意:这是一个只有两个输出端口没有输入端口的transformation.

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


1.2.3.6 Aggregator
作用:执行分组聚合运算
用法:创建好Aggregator(下简称AGG)后,将需要的用的字段从其他transformation拖拽到AGG ,双击AGG,在端口tab中每个端口有group by 选项。钩上想要分组的列,新增端口,编写聚合表达式实现分组聚合运算。
命名方式:AGG_Name 类型:Active/Connected 注意:可使用本地变量


1.2.3.7 Filter
作用:过滤记录
用法:创建好Filter(下简称FIL)后,将需要的用的字段从transformation拖拽到FIL ,双击FIL,FIL的属性进行设置。FIL的配置主要是对Filter Condition的配置,Filter Condition 写入类似where条件的表达式即可。
命名方式:FIL_Name 类型:Active/Connected 注意:


1.2.3.8 Lookup
作用:查询值
用法:创建Lookup(下简称KP)的时候选择要查询的表。和Stored Procedure一样SP有连接和不连接到数据流两种用法。
连接到数据流方式将要关联查询的字段从其他的transformation拖拽过来,然后双击LKP进行属性的配置。Lookup Policy On Multiple Match属性表明当查询到多个行时采取取第一行,取第二行,报错中哪个策略.Lookup Condition 属性值是查询的条件。Lookup Sql Override属性值是查询执行的Sql,我们可以在里面直接写SqlLookup Caching Enabled属性表明是否使用缓存,此项一般选择为好,有利提高效率。Loopup Cache Persistent属性表明是否使用永久的缓存。
命名方式:LKP_Name 类型:Passive/Connected or Unconnected 注意:如果Lookup表的类型是来源表的话,请尽量使用Joiner; 一个已连接的LKP不能再被其他transformation的表达式调用;
如果查询表在session运行过程中不会改变,使用Loopup Cache Persistent属性可提高性能;
尽量不要在Lookup Sql Override中书写order by子句,因为cached LKP默认有order by


1.2.3.9 Joiner
作用:连接查询来自不同数据库的表或平坦文件
用法:创建好Joiner(下简称JNR)后,将需要的用的字段从transformation拖拽到JNR ,双击JNR,JNR的属性进行设置。用于连接的两个表一个称为detail表,一个称为master表。JNR属性中可配置Join Type(连接类型)Normal Join,Master Outer Join,Detail Outer Join Full Outer Join中任意一种。Normal Join相当于常规的inner join; Master Outer Join相当于常规的Detail left outer join Master;Detail Outer Join相当于常规的Detail right outer join Master; Full Outer Join相当于常规的full outer joinJoin Condition属性值就是常规sqlon 后带的条件。
命名方式:JNR_Name 类型:Active/Connected 注意:尽量使用Normal Join,Master Outer Join.这两个的效率比另外两个更好


1.2.3.10 Normalizer
作用:格式化记录,这些记录可以是来自COBOL
用法:
命名方式:NRM_Name 类型:Active/Connected 注意:


1.2.3.11 Router
作用:根据一组表达式将记录分类路由到多个transformation 用法:创建好Router(下简称RTR)后,将需要的用的字段从transformation拖拽到RTR,双击RTR,RTR的属性进行设置。在Group tab中添加组,为每组编辑该组的过滤条件。
命名方式:RTR_Name 类型:Active/Connected 注意:组过滤条件表达式的计算值必须是真或者假。


1.2.3.12 Rank
作用:排序记录,只输出最顶层或最低层的n个记录
用法:创建好Rank(下简称RNK)后,将需要的用的字段从transformation拖拽到RNK,双击RNK,RNK的属性进行设置。在Ports tab中有一个名为‘R’的列,选择你要排序的列。你还可以选择你想分组的列。在Properties tabTop/Bottom属性,Top表示选择顶层的记录,Bottom表示选择底层的记录; Number Of Ranks属性值是整数,表示要选择的记录条数。假设你在‘R’列中选择了名为’Price’的列,而且Group By选择了‘Name’列,Top/Bottom属性选择的是‘Top, Number Of Ranks属性值是2,那么将抽取过程是这样的:以name分组取出每组中 Price最大的2列记录。
命名方式:RNK_Name 类型:Active/Connected 注意:可以使用本地变量


1.2.3.13 ERP Source Qualifier
作用:根据查询SQL文从ERP文件查出所要记录
用法:
命名方式:
类型:Active/Connected 注意:


1.2.3.14 XML Source Qualifier
作用:根据查询SQL文从XML文件查出所要记录
用法:
命名方式:XSQ_Name 类型:Passive/Connected 注意:


1.2.4 Mapping Parameters(
参数) Variables(变量)的使用
如果你在一个mapping中多次用到同一个值,又或者mapping中要用到一个在session运行才能决定的值,这时候可以使用mapping parametersvariable。添加参数或变量的方法是:选择Mappings-Parameters and Variables,在窗口新增变量或者参数,并对它的数据类型,数据大小,初始值进行设置。添加的参数和变量在本mappingtransformation的表达式中就可以使用了。这些参数和变量的值还可以设置在.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.5 Mapping
的调试
选择MappingsDebuggerStart Debugger,在点击‘下一步’的过程中选择调试过程运行在哪台服务器然后为来源表选择数据库,最后到完成。等调试初始化好之后点击MappingsDebuggerContinue(或按F5),即可开始调试,选择某个目标表即可看该表的结果数据。如果还想看中间某个transformation的数据,在开始调试前为该transformation增加一个断点。


1.3 Server Manager
的使用

1.3.1 Register Server(
注册服务器) 任何session都必须运行在某个服务器上,所以如果Server Manager里没有服务器的话必须注册一个,当然你也可注册多个服务器。服务器的注册过程如下:
选择Server Configuration Register ServerServer输入
的是要注册的服务器的名称;Host Name 输入的是运行了informatica server的机器名或iprotocol选择TCP/IPort Number输入4001。最下面的是服务器的变量设置,设置的是sessionbatch运行时一些文件的存放位置,比如说log文件bad 文件 cache文件,一般不用更改。这样一个服务器就注册到repository了,不过后面你可以双击它重新编辑。


1.3.2 Add DataBase Connection
(添加数据库连接)
选择Server Configuration DataBase Connection,点击Add,然后选择数据库的类型。不同类型的数据库配置起来不一定一样,下面说明Oracle SQL Server两种数据库连接的配置。

Oracle
类型数据库连接配置:Data Source 输入数据源名称;User Name输入数据库连接的用户名;Password输入数据库连接的密码;Connect String 输入Oracle TNS 服务名。

SQL Server
类型数据库连接配置: Data Source 输入数据源名称;User Name输入数据库连接的用户名;Password输入数据库连接的密码;Database Name输入数据库名称;Server Name输入数据库的ip地址;Domain Name输入数据库的域名。


1.3.3 Add Session(
添加抽取任务
)
Mapping
只是数据抽取过程的设计,要使这个过程运行必须为该Mapping建立对应的session,然后运行该session。选择Operations-Add Session,在窗口中选择一个Mapping点击ok会出现编辑该session的窗口。

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

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

Treat rows
Insert,Delete,Update,Data Driven四个选项,表明抽取出来的数据在目标表中作何种操作,只有在session对应的mapping中有Update Stategy时才能选择Data Driven而且也必须选择
Data Driven;
Source
框选择来源表所在的数据库;

Target Options
中的Insert,Update(as Update),Update(as Insert),Update(else Insert),Delete,Truncate table 选项的意思分别是:将insertinsert操作,将Update insert操作,将Update先做Update操作不成功再作insert操作,deletedelete操作,在对目标表操作前删除目标表所有数据。这些选项如果与
bidwhome 发表于:2006.07.28 22:06 ::分类: ( Informatic ) ::阅读2104次) :: 评论 (3) :: 引用 (0)
re: Informatica简明使用手册- CLIENT 的使用 [回复] 创立于 1993 年,总部位于 Palo Alto, California of USA 的 Informatica ( Nasdaq:INFA )公司,作为电子商务分析型软件市场的领先者,一直致力于通过自身的产品和服务提升企业的竞争性优势。其拳头产品 Informatica Insight Network(Infrastructure and Analytics) 已被全球 1 , 800 多家企业用来集成、分析和个性化企业的关键商务信息,优化整个商务价值链的表现和响应速度。拥有包括 Citigroup, Deutsche Bank, AT&T, British Telecom, Motorola, Cisco, HP, Boeing, National Semiconductor, Timer Warner, News Group 在内的广泛的客户群。
  Informatica 作为电子商务分析软件,数据集成和分析型应用解决方案提供商,拥有包括分析型应用软件、广泛的支持服务和强大的数据集成平台在内的综合性产品家族。 Informatica 的基础设施产品以可伸缩的、可扩展的企业级数据集成平台为特点,并广泛支持来自 Informatica 和其他的领先智能商务提供商的数据仓库基础设施和分析型应用软件的开发和管理。
  Informatica 的分析型应用软件也是建立在数据集成平台之上,旨在为企业解决任何可能出现的有关相关性、性能、瓶颈、战略和其他的种种问题。
一、总体概述
  ETL 包括 Extract 、 Transform 、 Cleaning 和 Load ,它是用于从生产库中提取数据到数据仓库中,再由具体的报表、统计、分析工具对数据仓库的内容进行分析,分析出自己所需要的数据。
  其中 ETL 培训的内容是如何利用 Informatic PowerCenter 把源数据库的内容提取存放到目标数据库中。主要
  Informatic 主要包括四个部分: Client , Reposity Server , Reposity Database 和 Informatic Server 每个部分实现自己的功能。
二、系统体系结构
  此部分介绍了 Informatic ETL 工具包括的主要内容。
1.Client
  Informatic Client 主要有五个部分。 Client 可以和 Reposity 分离,通过 TCP/IP 连接,连接到远程的 Reposity Server 。
2. Reposity Manager
  主要用于进行一个 Reposity 库的管理,当用户使用 Client 工具登录一个 Reposity 服务器之后,进行文件夹权限的创建,用户权限、密码的管理等。
3. Designer
  主要是进行数据抽取的转换工具的设计,主要是 mapping 的设计、设计源数据库的结构,目标数据库的结构,然后设计把源数据导入到目标数据库中,所需要进行的转换操作( Transformation )。
  同一个 Reposity 的 folder 之间可以建立 shortcut 方式,多个 reposity 的 folder 之间只能做拷贝。
4. Workflow Manager
  主要用于流程任务( workflow Task )的设计。
  进行任务流程的设计、每一个 Tast 针对一个 Session ,一个 session 针对一个 mapping ,其中 workflow 中的 Folder 和 Designer 中的 folder 相对应的关系。一版来说,用户都是建立自己的 Folder 。
5. Workflow Monitor
  主要进行流程运行、及任务运行时的流程运行情况跟踪。可以跟踪日志。包括 Session 日志和 Workflow 日志,可以设置生成日志的循环个数。分析 session 运行是对源数据库的数据抽出信息和对目标数据库的更新信息。
6. Reposity Server Application Console
  主要进行 Reposity 的管理,包括 Reposity Server 的 start , shutdown 操作。进行 Reposity 库的 backup 、 restore 等操作,进行 Reposity 库级别的管理,级别较高。
7. Reposity Server
  Reposity server 是为客户端服务的,客户端可以和各种 client 不在一台服务器上。关于数据抽取的设计成果转换成为 XML 格式的源数据,都是通过 Reposity Server 存放到 Reposity Database Server 上的。
8. Reposity Database Server
  用于存放的是进行 ETL 设计的元数据。可以支持各类的数据库。方式为数据库中用户的一个表目录和用户关系即可。
  Reposity Database 可以和 Reposity server 不安装在一台服务器。如果在一台机器上, server 通过 native 方式连接到 database ,如果不在一台及其上,需要在 database 上安装一个 reposity agent ,用户通过 agent ,以 native 方式连接到 reposity 数据库,然后 reposity agent 再以 tcp/ip 方式连接到 reposity server 。
9.Informatic Server
  Informatic server 是实际执行数据抽取任务的运行环境。即 workflows 、 task 、 sessions 等。它是根据定义的 workflow 元数据库,然后在自己的实际环境中,执行数据抽取操作。
三、系统组件功能
  Informatic 的功能主要体现在 Designer 和 Workflow Manager 上,其中 Designer 实现的是对数据抽取的数据转换方式设计,以及效率设计目标等。而在 Workflow Manager 中再把具体的数据转换方式应用到一个具体的工作任务中,包括目标库、源库的选择,以及一条具体的执行任务的属性设置等等。包括任务的 insert 、 truncate 、 delete 、 increment insert 等。
1.Designer 组件
( 1 )工作区
  在 Designer 中,涉及到的工作区主要包括有 Source Analyzer 、 Warehouse Designer 、 Transformation Designer 、 Mapplet Designer 和 Mapping Designer 。
  其中每个工作区的功能分别介绍:
Source Analyzer :
  Source Analyzer 的功能是实现对源数据库表的设计,可以手工的进行源数据库的设计,一般都是通过从 Flat File 或者 Relation DBMS 中导入数据库的表结构。 XLS 文件结构。
Warehouse Designer
  用于设计目标数据库库的结构,可以利用手工设计,也可以利用 import 工具导入导一个 warehouse 的结构。
Transformation Designer
  用户设计可重用的 transformation 组件,这里的组件,在一个 folder 里面都是可以重用的,而且以 shortcut 的方式使用。 Transformation 组件的修改,会直接反映到使用此 transformation 的 mapping 中。
Mpplet
  设计可以重用的多个组件,只要有 output 组件,可以有 input 组件,也可以没有 input 组件,实现的功能就和一个 expression 的功能类似,实现功能。
Mapping Designer
实现的功能是设计具体进行抽取数据的 mapping ,这些 mapping 应用到一个 workflow 中,形成了 workflow 的一个 session ( task )。
( 2 ) 组件功能
  ETL 支持的组件主要包括两类: Active 组件和 Passive 组件,其中 Active 组件是对输入记录集在输出时个数有变化的组件, Passive 组件,输入的记录集,输出时记录集的个数不发生改变。
Informatic 提供的组件包括:
(1) Source Qualifier: reads data from flat file & relational sources
(2) Expression: performs row-level calculations
(3) Filter: drops rows conditionally
(4) Sorter: sorts data
(5) Aggregator: performs aggregate calculations
(6) Joiner: joins heterogeneous sources
(7) Lookup: looks up values and passes them to other objects
(8) Update Strategy: tags rows for insert, update, delete, reject
(9) Router: splits rows conditionally
(10) Sequence Generator: generates unique ID values
(11) Normalizer:izes records from relational or VSAM sources
(12) Rank: filters the top or bottom range of records
(13) Union : merges data from multiple pipelines into one pipeline
(14) Transaction Control: allows user-defined commits
(15) Stored Procedure: calls a database stored procedure
(16) External Procedure : calls compiled code for each row
(17) Custom: calls compiled code for multiple rows
(18) Midstream XML Parser: reads XML from database table or message queue
(19) Midstream XML Generator: writes XML to database table or message queue
  每一类组件都有自己独特的功能和特点,这里介绍主要的组件包括上述红色的内容。每一种组件的详细功能这里不详细介绍。
2.Workflow 组件
  Workflow 是对执行任务的执行进行控制,可以在执行时对执行的任务进行传参数进行传入,这样就能在执行的时候把数据库表进行动态的设置。
  可以在执行的时候选择参数文件,对 mapping 、 workflow 中的 Session 的参数进行传入。达到动态执行的目的。
  Workflow 中定义 workflow 、 session 等任务,对这些任务的执行进行管理控制。
四、补充说明
Source Qualifier 支持同构数据源的连接,衣钩数据源的连接通过 N-1 个 jointer 组件实现。
Lookup 为 passive 组件,查出的多条记录集,要么取 first ,或者 last ,或者报错。
Lookup 可以时动态 / 静态 ,可以 connected/unconnect 。