文章图片
下面列出了一些常见的ETL测试面试问题和答案。
1)什么是ETL?解释一下。
ETL代表提取, 转换和加载。它是数据仓库系统中的基本概念。数据集成过程包含三个基本步骤。提取代表从不同数据源(例如事务系统或应用程序)中提取数据。转换就是将转换规则应用于数据, 从而使其适合于分析报告。加载过程涉及将数据移入目标系统, 即数据仓库。
2)解释提取, 转换和加载的概念吗?
萃取
从外部源提取数据并将其移至数据仓库预处理器数据库。
转型
转换数据任务允许点对点生成, 修改和转换数据。
载入中
在此任务中, 数据被添加到仓库中的数据库表中。
3)ETL周期的三层体系结构是什么?
ETL中的三层是:
- 暂存层:暂存层用于存储从不同数据源系统提取的数据。
- 数据集成层:集成层将转换来自登台层的数据并将其移至数据库。在数据库中, 数据按层次结构组(通常称为维度), 事实和聚合事实进行排列。事实与数据仓库系统中的维表的组合称为模式。
- 访问层:最终用户使用访问层来检索数据以进行分析报告。
商业智能是收集原始业务数据并将其转换为对业务更有用的有意义的愿景的过程。
5)ETL和BI工具之间有什么区别?
ETL TOOLS | BI TOOLS |
---|---|
BI工具用于为最终用户生成交互式和临时报告, 为每月, 每季度和每年的董事会会议提供数据可视化。 | |
最常见的BI工具是SAP Lumira, IBM Cognos, Microsoft BI平台, Tableau, Oracle商业智能企业版等。 |
市场上流行的ETL工具包括:
- IBM Websphere DataStage
- 信息学-电力中心
- SAP业务对象数据服务BODS
- SAS-数据集成工作室
- 甲骨文仓库制造商
- 开源三叶草ETL。
暂存区域是一个中心区域, 可在数据源和数据仓库/数据集市系统之间使用。它是在数据集成过程中临时存储数据的地方。在阶段中, 将清理区域数据并检查是否有重复。暂存区旨在提供许多好处, 但主要目标是使用暂存区。它用于提高效率, 确保数据完整性并支持数据质量操作。
8)数据仓库和数据挖掘之间有什么区别?
与数据挖掘相比, 数据仓库是一个广泛的概念。数据挖掘涉及从数据中提取隐藏信息, 并将其解释为将来的预测。相反, 数据仓库包括诸如分析报告以生成详细报告和即席报告之类的操作, 信息处理以生成交互式仪表板和图表之类的操作。
9)数据仓库和数据挖掘之间有什么区别?
OLTP | OLAP |
---|---|
OLAP代表在线分析处理。 | |
OLAP是一个多维系统, 它也称为数据仓库。 |
在这里, 我们以一个示例来描述维度表与事实表的区别。
假设一家公司将其产品出售给客户。每次销售都是公司内部发生的事实, 事实表用于记录这些事实。每个事实表存储将事实表与维表和度量/事实连接在一起的主键。
示例:事实单位
Cust_ID | Prod_ID | Time_ID | 销售数量 |
---|---|---|---|
24 | 1 | 25 | |
25 | 2 | 15 | |
26 | 3 | 30 |
Cust_ID | Cust_Name | Gender |
---|---|---|
Sana | F | |
Jass | M |
数据集市是数据仓库的一种简单形式, 它专注于单个功能区域。它只有少数几个来源。
例如:在一个组织中, 可能存在用于市场营销, 财务, 人力资源和其他部门的数据集市, 这些数据集市存储与其特定功能有关的数据。
12)手动测试和ETL测试有什么区别?
手动测试和ETL测试之间的区别是:
- 手动测试着重于程序的功能, 而ETL测试则与数据库及其数量有关。
- ETL是自动化测试过程, 不需要任何技术知识。 ETL测试非常快速, 系统且可确保业务所需的结果。
- 手动测试是一个耗时的过程, 我们需要技术知识来编写测试用例和脚本。它很慢, 很容易出错, 也需要努力。
ETL代表提取, 转换和加载信息。进行ETL测试以确保在准确的业务转换后将数据从不同的源加载到目标。它涉及源和目标之间正在使用的多个阶段的数据验证。
14)ETL测试人员的职责是什么?
ETL Tester的职责分为三大类:
- 舞台桌
- 业务逻辑转换
- 一旦应用了转换, 就从登台表中加载目标表。
- ETL测试仪会彻底测试ETL软件。
- 测试人员将检查ETL数据仓库的测试组件。
- 测试人员将在后端执行数据驱动的测试。
- 测试人员创建设计并执行测试用例, 测试计划或测试工具等。
- 测试人员确定问题所在, 并提出最佳解决方案。
- 测试人员批准要求和设计规范。
- 测试仪从平面文件传输数据。
- 他们为不同的测试方案编写SQL查询。
在当今的时代, 我们正在将许多系统从旧技术迁移到新技术。在进行迁移活动时, 我们还需要将数据也从旧的DBMS迁移到最新的DBMS。因此, 非常有必要从目标端测试数据是否正确。
以下是一些需要进行ETL测试的重要点:
- ETL测试用于监视从一个系统传输到另一个系统的数据。
- ETL测试的需要是跟踪过程的效率和速度。
- 在我们将ETL流程应用到业务和生产中之前, 为了熟悉ETL流程, 需要进行ETL测试。
- 在ETL工具之前, 用户需要编写扩展代码以将数据转换为数据加载。
- ETL使生活更舒适, 并且一种工具可以管理数据转换和加载的所有情况。
示例:数据仓库
ETL用于数据仓库概念。在这里, 我们需要从多个不同的系统中获取数据并将其加载到数据仓库数据库中。这里使用ETL概念从源中提取数据, 转换数据并将其加载到目标系统中。
示例:数据迁移
如果我们使用PLSQL, 则数据迁移是一项艰巨的任务。如果我们想以一种简单的方式迁移数据, 我们将使用不同的ETL工具。
示例:并购
在当今时代, 许多公司正在合并成不同的跨国公司。为了将数据从一家公司转移到另一家公司, 出现了ETL概念的需求。
17)我们如何在第三方管理中使用ETL?
大型组织总是为不同类型的供应商提供不同的应用程序开发。单个供应商无法管理所有内容。在这里, 我们以一个电信项目为例, 其中一个公司处理帐单, 另一家公司管理CRM。如果CRM公司需要管理帐单的公司的数据, 则该公司现在将从其他公司接收数据提要。从ETL流程中加载数据。
18)我们如何在数据仓库中使用ETL?
最常见的是数据仓库中使用的ETL。用户获取历史数据以及当前数据以开发数据仓库。数据仓库中的数据是历史数据以及交易数据的组合。数据仓库的数据源可能有所不同。我们需要从多个不同的系统中获取数据, 并将其加载到单个目标系统中, 该目标系统也称为数据仓库。
19)ETL测试和数据库测试有什么区别?
ETL测试和数据库测试之间的区别是:
ETL Testing | 数据库测试 |
---|---|
在数据库测试中, 目标是集成数据。 | |
数据库测试仅适用于业务流程系统。 | |
在数据库测试中, 使用了QTP和Selenium工具。 | |
在数据库测试中, 使用关系模型。 | |
在数据库测试中, 处理事务。 | |
使用标准化数据。 |
- 数据仓库是一个与运营数据库不同的数据库, 用于存储历史数据。
- 数据仓库数据库包含分析数据和事务数据。
- 数据仓库用于数据分析和报告目的。
- 数据仓库可帮助高层管理人员使用历史或当前数据做出战略和战术决策。
- 数据仓库可以帮助业务用户顺应当前趋势来开展业务。
- 在线分析处理(OLAP)
- 预测分析
- 在线交易处理
- 数据库
ETL测试过程中遵循的不同步骤是:
步骤1.需求分析
在这一步中, 我们了解了业务结构和要求。
步骤2.验证和测试估计
在此步骤中, 需要时间和专业知识的估计。
步骤3.测试计划和设计测试环境
此步骤基于验证和测试估计。在此步骤中, 根据用于测试估计的输入来计划ETL的环境, 并据此进行工作。
步骤4.测试数据准备和执行
根据测试, 根据要求准备并执行数据。
步骤5.摘要报告
在测试运行完成后, 将准备一份总结报告以进行总结和即兴创作。
23)ETL在数据迁移项目中如何使用?解释一下。
ETL工具通常用于数据迁移项目中。如果以前有任何组织在Oracle 10g中管理数据, 那么现在该组织希望使用SQL Server云数据库, 则需要将数据从源移动到目标。对于这种运动, ETL工具非常有用。如果我们要为ETL编写代码, 这是一个非常耗时的过程。为简化起见, 我们使用ETL工具, 该工具使编码变得简单PL SQL或T-SQL代码。因此, ETL过程在数据迁移项目中很有用。
24)选择ETL流程需要遵循哪些步骤?
选择ETL工具是一项非常困难的任务。要选择正确的ETL工具, 我们需要根据项目考虑很多因素。为特定项目选择ETL工具是一项非常具有战略意义的举措, 即使对于小型项目我们也需要它。
以下几点将有助于我们选择ETL工具。
- 数据连接
在选择ETL工具时, 我们将重点关注ETL工具如何与任何数据源进行通信, 无论数据来自何处。数据连接非常关键。 - 性能
移动和更改数据需要一些严肃的处理能力。因此, 在这里, 我们需要检查性能因素。 - 转型灵活性
合并, 匹配和更改数据非常关键。 ETL工具应提供所有这些合并, 匹配和更改操作以及许多转换包。它允许通过简单的拖放操作在转换阶段对数据进行修改。 - 资料品质
仅当数据干净且一致时, 我们才能利用数据。 - 灵活的数据操作选项
当ETL准备就绪时, 我们需要检查ETL是否适用于以前的数据以及即将出现的新数据。 - 承诺的ETL供应商
在执行ETL流程时, 我们正在处理组织数据。因此, 在这里我们必须选择了解该行业并且其支持将是有益的供应商。
以下是以下ETL错误:
- 来源错误
- 负载条件错误
- 计算错误
- 与ECP相关的错误
- 用户界面错误
- ODS代表运营数据源。
- ODS在登台区域和数据仓库之间工作。 ODS的数据将处于粒度级别。
- 将数据插入ODS后, 所有数据将通过ODS加载到EDW中。
数据提取是什么, 但是它正在使用ETL工具从多个不同的源中提取数据。
这是两种类型的数据提取。
- 完全提取:从操作系统或源系统负载到暂存区域的所有提取数据。
- 部分提取:有时, 我们从源系统收到通知以更新特定数据。这称为增量负载。
28)什么是ETL工具?
流行的工具有:
1.企业ETL工具
- 计算机
- 塔伦德
- IBM Datastage
- Abnitio
- MS SQL Server集成服务
- 三叶草ETL
- 彭塔霍
- 水壶
始终需要对事务进行拆分以提高性能。相同的过程称为分区。它仅确保服务器可以通过多个连接直接访问源。
30)什么是ETL管道?
ETL管道是指从一个系统中提取数据, 对其进行转换并将其加载到某个数据库或数据仓库中的一组过程。 ETL管道是为数据仓库应用程序而构建的, 该应用程序包括企业数据仓库以及特定于主题的数据集市。 ETL管道也用于数据迁移解决方案。数据仓库/商业智能工程师构建ETL管道。
31)什么是数据管道?
数据管道是指将数据从一个系统移动到另一个系统的任何过程元素集。可以为使用数据带来价值的任何类型的应用程序构建数据管道。它可以用于跨应用程序集成数据, 构建数据驱动的Web产品以及执行数据挖掘活动。数据工程师建立数据管道。
32)ETL测试中的过渡位置是什么?
暂存位置是在数据集成过程中使用的临时存储区域。在此位置, 将仔细分析数据的冗余性和重复性。
33)什么是ETL映射表?定义其重要性。
ETL映射表包含源文件中的所有必要信息, 并将详细信息存储在行和列中。映射表有助于编写SQL查询, 以加快测试过程。
34)ETL测试有什么转变?
- 转换定义为用于生成, 修改或传递数据的归档对象。转换可以是主动的也可以是被动的。转型在许多方面都是有益的。
- 它有助于快速获得价值。
- 转换可以更新缓慢变化的尺寸表。
- 它检查或验证记录是否在表内。
动态缓存用于缓慢地更新维或主表。静态缓存用于平面文件。
36)什么是映射, 会话, Worklet和Mapplet?
- 映射:映射表示从源到目标的工作流程。
- 工作流:工作流是一组指令, 告诉Informatica服务器如何执行任务。
- Mapplet:Mapplet配置或创建一组转换。
- Worklet:这是代表一组任务的对象。
- 会话:会话是一组说明, 描述了如何以及何时将数据从源移动到目标。
完全加载:完全加载会完全擦除一个或多个表的内容, 并重新加载新数据。
增量负载:在这种情况下, 我们将根据预先定义的时间表将正在进行的更改应用于一个或多个表。
38)什么是细木工和查找?
连接器用于连接两个或多个表以从表中检索数据。
查找用于检查和比较源表和目标表。
39)什么是数据清除?
数据清除是一个术语, 通常用于描述从存储空间中删除并永久擦除数据的方法。换句话说, 它可以定义为从数据仓库中删除数据, 称为数据清除。通常, 我们必须清理垃圾数据, 例如具有空值或空格的行。数据清除是清除垃圾值的过程。
40)ETL工具和OLAP工具之间有什么区别?
ETL工具用于从旧系统中提取数据, 并通过一些清理数据的过程将其加载到指定的数据库中。
例如:Informatica, 数据阶段等。
OLAP工具:用于多方向模型中可用的OLAP数据中的报告目的。我们可以编写一个简单的查询以从数据库中提取数据。
示例:业务对象, Cognos等
工作/人力资源面试问题 |
JavaScript面试问题 |
Java OOP面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
最常见的ETL工具是Informatica, SAP BO数据服务, Microsoft SSIS, Oracle Data Integrator(ODI)三叶草ETL开源等。
OLTP代表在线事务处理。
OLTP是一个关系数据库, 用于管理日常事务。
101
102
103
101
102
在ETL测试中, 目标是报告商业智能
业务环境的流程基于先前使用的数据
可以使用Informatica, Query Surge, Cognos工具。
在ETL测试中, 使用尺寸模型。
在ETL测试中, 将处理Analytics。
在ETL测试中使用非规范化数据。
面试技巧
公司面试问题与程序
【必备!ETL最新测试面试题及其答案】Java基础面试问题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
jQuery面试问题
推荐阅读
- 面试必备!PyTorch最新常见面试题及其答案
- 面试必备!Laravel面试题及其答案合集详解
- 最新DataStage常见面试题及其答案
- Android Studio OkHttpClient使用
- Android_(传感器)获取手机中的传感器
- Android 源码分析Launcher 桌面程序启动分析
- 今日头条Android开发岗实习生面试
- unity配置Android SDK,并构建导出apk格式
- Closeable, Readable, Flushable, Appendable