目录:
Informatica基础系列(一)——Helloworld
Informatica基础系列(三)——表达式、筛选、查找组件
正文:
这一篇介绍 Informatica 的软件功能视图,并通过一个简单的 Demo 一窥 Infa 完整开发流程。
一、Infa 软件视图
1.1 概览
Infa 是 C/S 的软件架构,包括 Server、Client,我们的开发工作一般集中在 Client 。在本地安装好客户端,就会看到 Infa 的几个快捷方式,常用的有 Repository Manager、Designer、Workflow Manager、Workflow Monitor,如下图所示:
1.2 Repository Manager
仓库管理,负责工作夹的创建、删除、编辑以及环境数据的导入导出,能看到在其他视图做的工作,包括 Designer 的 Source、Target、Mapping,还包括 Workflow 的 Session、Workflow、Schedule,如下图所示:
1.3 Designer
映射设计,负责数据源、目标的映射转换设计。
如上图,1 是切换软件视图区,可以方便地打开或切换到其他视图;2 是工作夹导航区;3 是组件区,可以拖拽到设计区;4 是设计视图切换区,可以在 Source、Target、Transformation、Maplet、Mapping 设计区切换;5 是状态栏。
1.4 Workflow Manger
工作流管理,负责工作流设计、设置等。
Workflow 视图和 Designer 类似,需要补充说明的是:设计区、菜单、快捷组件等会根据你开发内容的不同而实时变化,您可以在 Designer 的 4 区切换不同的设计视图体验一下。
1.5 Workflow Monitor
工作流监控,查看运行状态、运行日志等。
如上图,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 工作夹,如下图所示:
如果勾选 Allow Shortcut,表示该 Folder 是一个共享工作夹,点击确定就建好一个 Test 的 Folder,接下来切换到 Designer。
2.2 导入 Source、Target
切到 Designer 会看到 Test Folder,如果 Designer 处于打开状态,需要断开连接重新连才能看到这个变更,如下图所示:
接下来导入 Source、Target 数据结构,先切换到 Source 视图(中间红框的第一个图标),可以看到菜单出现 Source 的菜单。点击它,选择 "Import from Database"。当然,Infa 支持导入很多种数据源结构,本文以 Database 为例:
我已经建好一个 ODBC 的 DSN,也可以点击后面的 "..." 创建。接下来,选中这个 DSN,输入 UserName/Password ,点击带图标的 "Connect" 按钮,选中要导入的表,点击 "OK",Source 就导好了,如下图所示:
导入 Target 的方法和导入 Source 类似,导入后结果如下图所示:
2.3 设计 Mapping
导入 Source、Target 后,切换到 Mapping Designer 视图设计 Mapping(中间第5个小图标,也就是最后那个),通过 Mapping -> Create,输入 Mapping 名称,创建一个 Mapping,如下图所示:
将 Source、Target Table 拖拽到设计区,并将 Source 和 Target 的字段根据需求连线,我们先简单地把 Source 的数据一一对应地 load 到 Target,直连就可以了,如下图所示:
补充说明:Infa 可以根据 Position/Name 自动连线,右键单机空白处,可以看到 AutoLink 选项,您可以试试。
2.4 生成 Workflow
Mapping 设计完毕后,右键点击空白处,选择“Generate Workflow”,根据引导程序完成 Workflow 的创建,可以先按引导程序的默认选项,后续在 Workflow 中重新设置,如下图所示:
这里可以选择创建一个可复用的 Session、可复用 Session 的 Workflow 或不复用的 Session 的 Workflow,通常情况下,一个 Workflow 可以运行多个 Session,我们选第三个。
2.5 设置 Workflow
Workflow 运行前需要指定 “Connector”,就是 Source、Target 数据所在的数据库连接。切换到 Workflow 视图,通过 Connerctor -> Relational ... 配置连接,如下图所示:
双击 Workflow 中的 Session -> Properties ->Treat source rows as,选择 “Update”,如下图所示:
切换到 Mapping tab,设置 Source、Target 的连接,并选择 Target “Update else Insert”,我们上面选择的是 Update 模式,这里选择这个选项的意思是匹配到则更新,否则插入新的记录,如下图所示:
到这里整个开发就结束了,下面我们验证下我们的数据是否能得到预期结果。
2.6 验证结果
我已经在 Source Table 准备了 4 条记录,Target Table 无记录,查询结果如下图所示:
然后运行 Workflow,右键单击 Workflow Designer 空白处 -> Start Workflow,会自动转换到 Monitor 视图,查看日志看到影响了 4 条记录,再查看下数据库,看到 Target Table 已经有了 4 条数据,如下图所示:
今天的分享就到这,相信这篇文章已经能够让你快速上手 Infa 的开发了。随着业务场景的复杂程度,Infa 也有更复杂的设计策略,敬请期待下次分享!
At 2017.08.13
网友评论