以下列出了最常见的Informatica面试问题和答案。
1)什么是Informatica?我们为什么需要它?
Informatica是由Gaurav Dhillon和Diaz Nesamoney于1993年成立的软件开发公司。 Informatica是提供数据集成解决方案的ETL工具。 ETL工具是用于提取, 转换和加载数据的工具。因此, 可以说Informatica是一种ETL工具, 用于从一个数据库中提取数据并将其存储在另一个数据库中。
- 提取:提取是从一个数据库中提取数据的过程。在此阶段, ETL工具从多个来源提取数据。应用验证规则来测试它们是否与期望值匹配。如果验证失败, 则数据将被拒绝。
- 转换:转换是将一种形式转换为另一种形式的过程, 这种方式也可以将数据放置在另一个数据库中。转换包括数据格式化, 重新排序列或行数据, 将两个值组合为一个并将数据拆分为两个或三个值。
- 加载:在加载阶段, 数据被移动到目标数据库。加载数据后, ETL过程就完成了。
2)流行的Informatica产品有哪些?
以下是流行的Informatica产品:
- 电力中心
- 超级市场
- 电源交换
- 电源中心连接
- 电源通道
- 元数据交换
- 功率分析仪
- 强力胶
3)什么是Informatica PowerCenter?
Informatica PowerCenter是用于构建企业数据仓库的ETL工具。它是高度可用, 完全可扩展且高性能的工具。
它为IT管理团队提供了可靠的解决方案, 因为它不仅提供满足业务运营和分析要求的数据, 而且还支持各种数据集成项目
4)什么是数据仓库?
- 数据仓库是一种集成来自多个来源的数据的技术。它涉及分析报告, 数据集成, 数据清理和数据合并。
- 数据仓库主要用于查询和数据分析目的, 而不是事务处理。
- 它用于在用户需要时将信息转换为有用的数据。
- 数据仓库是一个环境, 而不是向用户提供当前和历史决策支持信息的产品, 这是无法访问传统运营数据库的。
- 可以使用商业智能工具, SQL客户端和电子表格来访问在数据仓库中处理和转换的数据。
5)如何将Informatica用于组织?
可以按以下方式使用组织中的Informatica:
- 数据迁移:数据迁移是指将数据从传统系统转移到新的数据库系统。
- 数据仓库:Informatica是一种ETL工具, 用于将数据从数据库或生产系统移至数据仓库。此过程称为数据仓库。
- 数据集成:数据集成是指集成来自多个源或基于文件的系统中的数据。例如, 清理数据。
6)解释Informatica工作流程?
Informatica工作流是与启动任务相关联的任务的集合, 并触发适当的顺序来执行该过程。
使用工作流设计器工具可以手动或自动创建工作流。
7)提到某些类型的转化?
8)主动变换和被动变换有什么区别?
活动转换是一种转换, 当源表通过时, 该转换会更改行数。例如, 聚合器转换是一种主动转换, 它对诸如sum之类的组执行聚合并减少行数。
被动转换是在源数据通过它时不更改行数的转换, 即既不添加新行, 也不删除现有行。在此转换中, 输出和输入行数相同。
9)解释一下数据仓库和数据集市之间的区别?
数据仓库和数据集市是存储和管理数据的结构化存储库。数据仓库用于集中存储整个业务的数据, 而数据集市用于存储特定数据, 而不是整个业务数据。从数据仓库中查询数据是一项非常繁琐的任务, 因此使用数据集市。数据集市是较小数据集的集合, 使你可以更快, 更有效地访问数据。
10)什么是存储库管理器?
资料库是用于存储信息或元数据的场所或关系数据库。元数据可以包括各种信息, 例如描述如何转换数据的映射, 描述你希望Informatica服务器何时执行转换的会话, 还存储诸如用户名和密码, 权限和特权以及产品版本之类的管理信息。该存储库由Repository Manager客户端工具创建和维护。
存储库管理器是管理和组织存储库的管理器。 Repository Manager可以创建文件夹来组织数据和组以处理多个用户。
11)什么是映射?
映射是数据的管道或结构流, 它描述了数据如何通过转换从源流到目的地。
映射包含以下组件:
- 源定义:源定义定义源的结构和特征, 例如数据类型, 数据源的类型等。你可以使用Informatica源分析器创建多个源定义。
- 目标定义:目标定义定义将数据加载到的最终目标或目标。
- 转换:转换定义应如何转换源数据, 并在转换过程中应用各种功能。
- 链接:链接定义了数据如何通过执行不同的转换从源定义流向目标表。
12)什么是会议?
- 会话是Informatica中的一个属性, 具有一组指令来定义何时以及如何将数据从源表移动到目标表。
- 会话就像我们在工作流管理器中创建的任务。你创建的任何会话都必须具有与其关联的映射。
- 会话一次必须只有一个映射, 并且不能更改。
- 为了执行会话, 必须将其添加到工作流中。
- 会话可以是可重用的对象, 也可以是不可重用的对象, 其中可重用意味着我们可以将数据用于多行。
13)什么是设计师?
设计器是一个图形用户界面, 用于构建和管理对象, 例如源表, 目标表, Mapplet, 映射和转换。
通过使用源分析器导入源表来创建Designer中的映射, 并使用目标设计器来导入目标表。
设计器组件:
设计器包含多个组件:
航海家
导航器用于执行以下活动:
- 用于连接存储库服务。
- 它用于打开文件夹。
- 它用于复制对象和创建快捷方式。
工作空间
- 工作区是我们进行编码的空间。
- 在工作空间中, 我们可以创建和编辑资源库对象, 例如源, 目标, mapplet, 映射和转换。
工具列
工具栏中的不同组件可用, 例如存储库, 编辑, 工具, 版本控制, 窗口和帮助。
输出/控制面板
它显示有关我们在设计器中执行的任务的输出, 例如映射是否有效, 是否保存了映射, 还显示错误。
状态栏
状态栏显示当前操作的状态。
14)什么是域名?
- 域是节点(机器)和服务(即存储库服务, 集成服务, 节点等)的集合。
- 它是一个管理单元, 你可以在其中管理或控制配置, 用户, 安全性等内容。
- 域是一个环境, 你可以在其中拥有一个域, 也可以拥有多个域。例如, 我们有三个部门, 分别是开发, 测试和生产。那么我们每个部门都有一个域, 即我们有三个域。
15)什么是工作流管理器?
Workflow Manager用于创建Workflow和Worklet。
- 工作流程
- 工作流是用于执行映射的一组指令。
- 工作流包含用于执行会话的各种任务, 例如会话任务, 命令任务, 事件等待任务, 电子邮件任务等。
- 它还用于计划映射。
- 所有任务通过工作流内部的链接相互连接。
- 创建工作流后, 我们可以在工作流管理器中执行工作流, 并通过工作流监视器监视其进度。
- 工作台
- Worklet是对一组任务进行分组的对象, 这些任务可以在多个工作流中重复使用。
- 工作项类似于工作流, 但没有任何计划信息。
- 在Worklet中, 你可以将任务分组在一个位置, 以便可以轻松识别。
16)什么是工作流监视器?
工作流监视器用于监视工作流的执行或工作流中可用的任务。它主要用于监视活动的进度, 例如事件日志信息, 已执行的工作流程列表及其执行时间。
工作流监视器可用于执行以下活动:
- 你可以看到执行细节
- 你可以查看工作流程执行的历史记录
- 你可以停止, 中止或重新启动工作流程。
- 它显示已至少执行一次的工作流程。
它包含以下窗口:
- 导航器窗口:显示已监视的存储库, 服务器和存储库对象。
- 输出窗口:显示来自Integration Service和存储库服务的消息。
- 时间窗口:显示工作流程执行进度。
- 甘特图视图:它以表格形式显示工作流程执行的进度。
- 任务视图:它以报告格式显示有关工作流程执行的详细信息。
17)解释转换的类型?
转换用于将源数据转换为目标数据。它确保根据目标系统的要求将数据加载到目标数据库。
转换基本上是一个存储库对象, 可以读取, 修改数据并将其从源传递到目标。
有两种类型的转换:
- 主动转型
主动转换是一种可以修改从源传递到目标的行数的转换, 即它可以消除不满足转换条件的行。 - 被动变换
被动转换是一种不消除行数的转换, 即所有数据无需修改就可以从源传递到目标。
18)什么是SQ转换?
- SQ代表Source Qualifier转换, 该转换从多个源中选择记录, 这些源可以是关系表, 平面文件和Informatica PowerExchange服务。
- 这是一个主动且相互联系的转变。
- 在映射中添加源表时, 将自动添加Source Qualifier。
- 它显示转换类型, 即, 它将源数据类型转换为与Informatica兼容的数据类型。
- 对于SQ转换数据类型, 源数据类型与Informatica兼容数据类型不匹配, 那么当你保存它时映射将变得无效。
- SQ转换是一种主动转换, 因为你可以应用所有业务规则和过滤器来克服性能问题。
- 通过使用SQ转换, 可以通过在表上应用联接对数据应用过滤器。
- Source Qualifier转换还可以将同类表(即, 将来自同一数据库的数据合并到单个SQ转换中)。
以下是SQ转换的属性:
- 用户定义的SQL查询
- 用户定义的联接
- 使用过滤器添加/修改WHERE子句
- 添加/修改ORDER BY排序的端口
- 选择唯一/不同行
19)什么是表情转换?
- 表达式转换是一种被动的, 相互联系的转换。
- 它用于处理单行中的值。
- 表达式转换的示例包括连接名字和姓氏, 调整学生记录, 将字符串转换为日期等。
- 它还在将数据传递到其他转换之前检查条件语句。
- 表达式转换使用数字和逻辑运算符
以下是表达式转换器执行的操作:
- 资料处理
它执行连接, 截断和舍入等操作。 - 数据类型转换
它还可以将一种数据类型转换为另一种数据类型。 - 数据清理
它检查是否为空, 测试空格, 测试数字。 - 操纵日期
它还可以操纵日期。 - 科学计算和数值运算
它还执行指数, 对数, 模数和幂运算。
表达式转换中使用三种类型的端口:
- 输入值
输入端口包含在计算中使用的值。例如, 我们需要计算总工资;那么只有当我们知道员工的薪水和激励措施时, 才会进行计算。 - 输出
我们为每个输出端口提供表达式, 并且输出端口的返回值应与表达式的返回值匹配。 - 变量
它是计算中使用的临时变量。
20)什么是分拣机转换?
- 这是一个主动且相互联系的转变。
- 它用于按升序或降序对数据进行排序, 类似于SQL中的ORDER BY子句。
- 它也用于区分大小写的排序, 还用于指定输出行是否应区分。
- 排序器转换是一种主动转换, 因为它消除了重复项。
分类器转换的属性:
- 排序器缓存大小
集成服务使用排序器缓存大小属性来确定执行排序操作所需的最大内存量。 - 区分大小写
你还可以启用区分大小写的属性。在这种情况下, 集成服务将给予大写字母优先于小写字符。 - 工作目录
工作目录是集成服务在对数据进行排序时在其中创建临时文件的目录。排序数据后, 所有临时文件将从工作目录中删除。 - 不同的输出行
集成服务使用此属性来生成不同的输出行。 - 跟踪级别
跟踪级别是一个属性, 用于控制数量, 排序器错误的类型以及集成服务写入会话日志的状态消息。 - 零对待低
当你希望集成服务将空值视为低于其他值时, 请启用此属性。当你想将空值视为高于其他值时, 请禁用此属性。
21)什么是聚合器转换?
- 聚合器转换是一种连接的主动转换。
- 它用于在一组行上执行汇总函数, 例如求和, 平均值, 计数等, 类似于SQL中的汇总函数, 例如sum(), avg(), count()等。
- 例如, 如果要计算所有雇员的薪金总和, 则使用聚合器转换。
- 聚合器转换使用临时主表存储所有记录, 并执行计算。
聚合器转换的组件:
- 汇总缓存
集成服务使用聚合缓存来存储数据, 直到完成聚合计算为止。它将组值存储在索引缓存中, 将行数据存储在数据缓存中。 - 聚合表达
向输出端口提供了聚合表达式, 并且输出端口还可以包含非聚合表达式和条件子句。 - 按港口分组
此属性用于创建组。组可以是输入, 输出或任何可变端口。 - 排序输入
排序的输入属性用于提高会话性能。为了使用排序的输入, 你需要将数据按端口升序或降序传递到按端口分组的聚合器转换。
22)什么是过滤器转换?
- 过滤器转换是一种主动且相互联系的转换。
- 它过滤掉通过它的行, 即, 它改变通过的行数。
- 它将过滤条件应用于数据组。此过滤器条件返回true或false值。如果值为true表示满足条件, 则传递数据, 如果值为false表示不满足过滤条件, 那么集成服务将删除数据并将消息写入会话日志。
23)什么是Joiner转换?
- Joiner转换是一个主动且相互联系的转换。
- 它使你可以在Informatica中创建联接, 类似于我们在数据库中创建的联接。
- 在联接器转换中, 联接用于两个源, 这些源是:
- 主要来源
- 详细资料来源
在细木工转换中, 你需要选择哪个数据源将成为Master, 哪个数据源将成为Detail。
联接器转换中使用四种类型的联接:
- 掌握外部联接
在主外部联接中, 结果集包含”详细信息”源中的所有记录以及主源中的匹配行。此联接将类似于SQL中的右联接。
- 详细外部联接
在”详细信息”外部联接中, 结果集包含”主”来源中的所有记录以及”详细信息”来源中的匹配行。此联接将类似于SQL中的Left联接。
- 完全外部联接
在完全外部联接中, 结果集包含来自两个源(即”主”和”详细”源)的所有记录。
- 普通加入
在普通联接中, 结果集仅包含”主”源和”详细信息”源之间的匹配行。此联接类似于SQL中的内部联接。
24)什么是路由器转换?
- 路由器转换是一种主动的连接转换。
- 路由器转换与过滤器转换相似, 因为这两个转换都基于过滤器测试输入数据。
- 在”过滤器转换”中, 你只能应用一个过滤器或条件, 如果不满足条件, 则将丢弃特定的条件。但是在路由器转换中, 可以应用多个条件。因此, 可以说可以在多个条件下检查单个输入数据。
25)什么是秩变换?
- 秩变换是一个主动且相互联系的变换。
- 它根据组和等级过滤数据。
- 例如, 如果你想明智地获得薪酬最高的前3名雇员部门, 则可以通过等级转换来实现。
- 等级转换包含一个输出端口, 用于为行分配等级。
26)什么是序列生成器转换?
- 序列生成器转换是一种被动的连接转换。
- 这是一种生成数值的转换类型。
- 它创建唯一的主键值, 替换丢失的主键, 或循环显示顺序的数字范围。
27)什么是存储过程转换?
- 这是一个被动的转变。
- 它可以在已连接和未连接模式下使用。
- Informatica包含存储过程转换, 该转换用于在数据库中运行存储过程, 其中存储过程是预编译的PL-SQL语句, 这些预编译的语句使用Execute或Call语句执行。
集成服务和存储过程之间可以传递三种类型的数据:
- 输入/输出参数
它用于发送或接收来自存储过程的数据。 - 返回值
在运行存储过程时, 它返回单个值, 该值可以是用户定义的, 单个输出值或仅单个整数值。如果存储过程返回结果集, 则存储的转换仅接受结果集的第一个值。 - 状态码
存储过程转换提供了一个状态代码, 用于通知存储过程是否已成功完成。
28)什么是查找转换?
- 查找转换是主动转换还是被动转换。
- 它可以在已连接和未连接模式下使用。
- 它用于在源, 源限定符, 平面文件或关系表中查找数据以检索数据。
- 我们可以从任何平面文件或关系数据库中导入查找的定义, 然后集成服务根据端口, 查找条件查询查找源, 然后将结果返回到其他转换。
查找转换可以采用两种模式:
- 查找表
使用Informatica客户端和服务器从映射源数据库或目标数据库导入查找表。 - 查询条件
查找条件确定输入数据是否满足查找表中的值。
以下是查找转换执行的活动:
- 获取相关值
它可用于基于源表中可用的值从查找表中检索值。例如, 我们要基于源表中的学生ID从查找表中检索学生姓名。 - 获取多个值
它还可以用于从查找表中检索多行。例如, 我们要明智地检索所有学生。 - 执行计算
它可以用来从查找表中检索值并可以对其执行计算。例如, 检索学生的分数, 然后计算他们的百分比。 - 更新缓慢变化的尺寸表
它确定行是否存在于目标表中。
29)什么是联合转型?
- 联合转换是一种主动的转换。
- 它与SQL Union All相似, 即它将来自多个文件的数据合并并产生单个输出, 然后将其存储在目标表中。
联盟转型准则
- 联合转换包含多个输出组, 但一个输入组。
- 它不会从输入源中删除重复项。为解决此问题, 我们使用了排序器转换, 在该转换中, 我们使用了select different语句来删除重复的行。
- 它不会产生任何交易。
- 你无法连接到序列生成器转换以生成序列。
30)什么是更新策略转换?
- 这是一个主动且相互联系的转变。
- 这种类型的转换可用于从目标表中插入, 更新或删除记录。
- 它甚至可以拒绝所有记录, 以避免到达目标表
目标表的设计取决于在现有行中如何进行更改。更新策略转换分为两个级别:
- 会话级别
在配置会话时, 我们可以指示集成服务以相同的方式处理所有行, 即将所有行都视为插入/删除/更新, 也可以使用会话映射中编码的指令来标记行以执行不同的数据库操作。 - 映射级别
在映射中, 你可以将更新策略转换应用于标记行以进行插入, 更新, 删除或拒绝。
31)使用SQ可以执行哪些任务?
以下是使用SQ执行的任务:
- 加入
你可以联接属于同一数据库的两个或多个表, 并且默认情况下, 所有表都是通过使用主键和外键关系来联接的。我们还可以在用户定义的join属性中显式指定连接条件。 - 筛选行
你还可以过滤行。集成服务添加了WHERE子句以过滤行。 - 排序输入
你还可以通过指定已排序输入的数量来对输入数据进行排序。集成服务默认情况下使用ORDER BY子句对输入数据进行排序。 - 不同的行
你还可以通过选择Select Distinct属性从源表中选择不同的行。然后集成服务会将Select Distinct语句添加到默认SQL查询中。 - 自定义SQL查询
你也可以编写自己的查询以对源数据执行计算。
评论前必须登录!
注册