Informatica学习以及遇到的问题总结陈朋

Informatica学习以及遇到的问题总结陈朋
Informatica学习以及遇到的问题总结陈朋

深航Informatica学习总结

修改记录

编写2016/3/9

框架:

一、总体概述

ETL 包括 Extract 、 Transform 、 Cleaning 和 Load ,它是用于从生产库中提取数据到数据仓库中,再由具体的报表、统计、分析工具对数据仓库的内容进行分析,分析出自己所需要的数据。

其中 ETL 培训的内容是如何利用 Informatic PowerCenter 把源数据库的内容提取存放到目标数据库中,四部分 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 。

https://www.360docs.net/doc/137916470.html,rmatic 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 。

1.i nfa开发准备

1.安装客户端

2.准备工作

创建表:建表语句

create table SOURCE_EMPLOYEES

(

EMPLOYEE_ID NUMBER(6),

EMPLOYEE_NAME VARCHAR2(50),

EMPLOYEE_ADDRESS VARCHAR2(50),

EMPLOYEE_CITY VARCHAR2(15),

CREATE_DATE DATE);

目标表create table TARGET_EMPLOYEES_XX

(

EMPLOYEE_ID NUMBER(6),

EMPLOYEE_NAME VARCHAR2(50),

EMPLOYEE_ADDRESS VARCHAR2(50),

EMPLOYEE_CITY VARCHAR2(15),

CREATE_DATE DATE

);

3.配置域

域名Domain_infa9

网关主机10.10.20.141

网关端口6005

2.Repository创建文件夹

1连接数据库

目的:连接存储库

2创建文件夹

点击工具栏的Folder – Create,输入需要创建的文件夹名称点击确定完成创建

如果文件夹没有显示,断开重新连接一下看看

3.Designer中创建映射

1.切换到d esigner窗口

目的:切换到映射设计界面

操作:点击D图标即可

Designer 界面被打开,默认打开的是新建的XXX文件夹。2导入源表

目的:从数据库中导入源表表结构

操作:

点击源图标切换至源窗口

菜单:源->从数据库导入

选择图标添加数据源ODBC连接

选择

配置

导入数据,可以在Search窗口搜寻要查询的表名

Properties属性:

3.导入目标表

目的:从数据库中导入目标表DIM_EMPLOYEES的表结构操作:

点击切换到目标设计窗口

菜单:

和导入源表步骤相同,选择目标表导入

4.建立映射关系

目的:设置从源表到目标表的转换规则

1 新建映射

点击图标切换到mapping窗口

工具栏出现mappings选项点击新建

2 为映射添加源表

从左侧源中把表SOURCE_EMPLOYEES拖入右侧编辑区, (会自动出现SQ_SOURCE_EMPLOYEES的SQL转换)

3为映射添加目标表

从左侧目标中把表DIM_EMPLOYEES拖入右侧编辑区

4编辑SQ_SOURCE_EMPLOYEE

可在Properties项中编辑sql语句

可在ports项中点击新增字段,点击删除字段

4在Workflow Designer中新建工作流1切换到Workflow Designer窗口

目的:切换到工作流设计界面

操作:点击W图标即可

2新建session

目的:创建会话,用以调用映射

操作:

相关主题
相关文档
最新文档