Informatica基础教程

一、Infa 软件视图
1.1 概览
Infa 是 C/S 的软件架构,包括 Server、Client,我们的开发工作一般集中在 Client 。在本地安装好客户端,就会看到 Infa 的几个快捷方式,常用的有 Repository Manager、Designer、Workflow Manager、Workflow Monitor,如下图所示:

1577524419-336882aea20f703

1.2 Repository Manager
仓库管理,负责工作夹的创建、删除、编辑以及环境数据的导入导出,能看到在其他视图做的工作,包括 Designer 的 Source、Target、Mapping,还包括 Workflow 的 Session、Workflow、Schedule,如下图所示:

1577524420-3993f2baf2cb272

1.3 Designer
映射设计,负责数据源、目标的映射转换设计。

1577524423-e5eb18b67b2ec51

如上图,1 是切换软件视图区,可以方便地打开或切换到其他视图;2 是工作夹导航区;3 是组件区,可以拖拽到设计区;4 是设计视图切换区,可以在 Source、Target、Transformation、Maplet、Mapping 设计区切换;5 是状态栏。

1.4 Workflow Manger
工作流管理,负责工作流设计、设置等。

1577524426-4ade4d0d86abe8b

Workflow 视图和 Designer 类似,需要补充说明的是:设计区、菜单、快捷组件等会根据你开发内容的不同而实时变化,您可以在 Designer 的 4 区切换不同的设计视图体验一下。

1.5 Workflow Monitor
工作流监控,查看运行状态、运行日志等。

1577524428-d6aa9a265529620

如上图,1是 Workflow 的运行日志,双击 Workflow 的某一个 Session,下面会有该 Session 的详细日志,从 Source 抽取的记录数,影响 Target 的记录数,Session 的开始时间、结束时间等。

二、HelloWorld
接下来我们做一个 Demo,把 Source Table 的数据全量 load 到 Target Table,根据 Id 主键匹配,Insert/Update 到 Target。为了简便,我把 Source、Target 放在同一个 DB。

2.1 新建 Folder
我们从零做起,首先打开 Repository Manager 视图,新建一个 Test 工作夹,如下图所示:

1577524431-77f44aefda59a76

如果勾选 Allow Shortcut,表示该 Folder 是一个共享工作夹,点击确定就建好一个 Test 的 Folder,接下来切换到 Designer。

2.2 导入 Source、Target
切到 Designer 会看到 Test Folder,如果 Designer 处于打开状态,需要断开连接重新连才能看到这个变更,如下图所示:

1577524432-d68ea2d8a42f9d5

接下来导入 Source、Target 数据结构,先切换到 Source 视图(中间红框的第一个图标),可以看到菜单出现 Source 的菜单。点击它,选择 “Import from Database”。当然,Infa 支持导入很多种数据源结构,本文以 Database 为例:

1577524435-d6689ffb54b9128

我已经建好一个 ODBC 的 DSN,也可以点击后面的 “…” 创建。接下来,选中这个 DSN,输入 UserName/Password ,点击带图标的 “Connect” 按钮,选中要导入的表,点击 “OK”,Source 就导好了,如下图所示:

1577524437-cdf44f6486c4492

导入 Target 的方法和导入 Source 类似,导入后结果如下图所示:

1577524439-c56ebcf8c75356f

2.3 设计 Mapping
导入 Source、Target 后,切换到 Mapping Designer 视图设计 Mapping(中间第5个小图标,也就是最后那个),通过 Mapping -> Create,输入 Mapping 名称,创建一个 Mapping,如下图所示:

1577524441-050f32b42aeb008

将 Source、Target Table 拖拽到设计区,并将 Source 和 Target 的字段根据需求连线,我们先简单地把 Source 的数据一一对应地 load 到 Target,直连就可以了,如下图所示:

1577524443-fa4068ae3b9286d

补充说明:Infa 可以根据 Position/Name 自动连线,右键单机空白处,可以看到 AutoLink 选项,您可以试试。

2.4 生成 Workflow
Mapping 设计完毕后,右键点击空白处,选择“Generate Workflow”,根据引导程序完成 Workflow 的创建,可以先按引导程序的默认选项,后续在 Workflow 中重新设置,如下图所示:

1577524445-682a6b3bf1a05ec

这里可以选择创建一个可复用的 Session、可复用 Session 的 Workflow 或不复用的 Session 的 Workflow,通常情况下,一个 Workflow 可以运行多个 Session,我们选第三个。

1577524447-289ca558cb08461

1577524449-c2c5091ee050031

2.5 设置 Workflow
Workflow 运行前需要指定 “Connector”,就是 Source、Target 数据所在的数据库连接。切换到 Workflow 视图,通过 Connerctor -> Relational … 配置连接,如下图所示:

1577524451-1ebd26a8aacdca7

双击 Workflow 中的 Session -> Properties ->Treat source rows as,选择 “Update”,如下图所示:

1577524453-bacd590867fef7d

切换到 Mapping tab,设置 Source、Target 的连接,并选择 Target “Update else Insert”,我们上面选择的是 Update 模式,这里选择这个选项的意思是匹配到则更新,否则插入新的记录,如下图所示:

1577524456-3dcb46fbeddb7e9

到这里整个开发就结束了,下面我们验证下我们的数据是否能得到预期结果。

2.6 验证结果
我已经在 Source Table 准备了 4 条记录,Target Table 无记录,查询结果如下图所示:

1577524457-f9968913bb7313a

然后运行 Workflow,右键单击 Workflow Designer 空白处 -> Start Workflow,会自动转换到 Monitor 视图,查看日志看到影响了 4 条记录,再查看下数据库,看到 Target Table 已经有了 4 条数据,如下图所示:

1577524460-236ce813772f380

1577524462-292550e4cb7789c

今天的分享就到这,相信这篇文章已经能够让你快速上手 Infa 的开发了。随着业务场景的复杂程度,Infa 也有更复杂的设计策略,敬请期待下次分享!

打赏

觉得本站还不错就打赏一下吧!

支付宝扫一扫打赏

微信扫一扫打赏

本站所有内容均来自于互联网自动采集,如无意侵犯了您的权利,请您发送邮件到admin@chinaetl.com.cn联系管理员删除。
ChinaETL » Informatica基础教程