2025 年 ETL 测试面试热门 25 问及答案
应届生 ETL 测试面试问题
1) 什么是 ETL?
在数据仓库架构中,ETL 是一个重要组件,它管理任何业务流程的数据。ETL 代表提取 (Extract)、转换 (Transform) 和加载 (Load)。提取是从数据库读取数据的过程。转换是将数据转换为适合报告和分析的格式。加载是将数据写入目标数据库的过程。
2) 解释 ETL 测试操作包括哪些?
ETL 测试包括
- 验证数据是否根据业务要求正确转换
- 验证预测数据是否已加载到数据仓库中,没有截断和数据丢失
- 确保 ETL 应用程序报告无效数据并替换为默认值
- 确保数据在预期时间内加载,以提高可扩展性和性能
3) 提一下数据仓库应用程序的类型,以及数据挖掘和数据仓库之间的区别?
数据仓库应用程序的类型有
- 信息处理
- 分析处理
- 数据挖掘
数据挖掘可以定义为从大型数据库中提取隐藏的预测信息并解释数据的过程,而数据仓库可以利用数据挖掘以更快的方式对数据进行分析处理。数据仓库是将来自多个来源的数据聚合到一个公共存储库中的过程
4) ETL 中使用的各种工具有哪些?
- Cognos Decision Stream
- Oracle Warehouse Builder
- Business Objects XI
- SAS 业务仓库
- SAS Enterprise ETL 服务器
5) 什么是事实?事实的类型有哪些?
它是多维模型的核心组件,包含要分析的度量。事实与维度相关。
事实的类型有
- 可加性事实
- 半可加性事实
- 非可加性事实
6) 解释什么是多维数据集和 OLAP 多维数据集?
多维数据集是由数据仓库中的事实表和维度组成的数据处理单元。它提供多维分析。
OLAP 代表在线分析处理,OLAP 多维数据集以多维形式存储大量数据用于报告目的。它由称为度量的事实组成,并按维度分类。
7) 解释什么是跟踪级别以及类型?
跟踪级别是存储在日志文件中的数据量。跟踪级别可分为两种:正常和详细。正常级别详细解释跟踪级别,而详细级别解释每行数据的跟踪级别。
8) 解释什么是事实粒度?
事实粒度可以定义为存储事实信息的级别。它也称为事实粒度。
9) 解释什么是无事实事实模式和度量?
没有度量的事实表称为无事实事实表。它可以查看发生的事件数量。例如,它用于记录公司中的员工人数等事件。
事实表中基于列的数值数据称为度量。
10) 解释什么是转换?
转换是生成、修改或传递数据的存储库对象。转换有两种类型:活动和被动。
经验丰富的 ETL 开发人员面试问题和答案
11) 解释查找转换的用途?
查找转换对于以下方面很有用
- 使用列值从表中获取相关值
- 更新缓慢变化的维度表
- 验证记录是否已存在于表中
12) 解释什么是分区、哈希分区和轮询分区?
为了提高性能,事务被细分,这称为分区。分区使 Informatica 服务器能够创建到各种源的多个连接。
分区的类型有
轮询分区
- 通过 Informatica,数据在所有分区中均匀分布
- 在每个需要处理的行数大致相同的分区中,此分区适用
哈希分区
- 为了将分区键用于在分区之间分组数据,Informatica 服务器应用哈希函数
- 当需要确保具有相同分区键的行组在同一分区中进行处理时,使用此方法
13) 提及使用 DataReader 目标适配器有什么优势?
使用 DataReader 目标适配器的优势在于它在内存中填充了一个 ADO 记录集(由记录和列组成),并通过实现 DataReader 接口公开了来自数据流任务的数据,以便其他应用程序可以使用这些数据。
14) 使用 SSIS (SQL Server Integration Service) 更新表有哪些可能的方式?
使用 SSIS 更新表的可能方式有
- 使用 SQL 命令
- 使用临时表
- 使用缓存
- 使用脚本任务
- 如果使用 MSSQL,请使用完整的数据库名称进行更新
15) 如果您的查找源是非 OLEDB (对象链接和嵌入数据库) 源,您会怎么做?
如果您的查找源是非 OLEDB 源,则必须使用缓存来加载数据并将其用作源。
16) 在连接和未连接转换中,您在什么情况下使用动态缓存和静态缓存?
- 当您需要更新主表和缓慢变化的维度 (SCD) 类型 1 时,使用动态缓存
- 对于平面文件,使用静态缓存
17) 解释连接查找和未连接查找之间的区别?
连接查找 | 未连接查找 |
---|---|
连接查找参与映射 | 在映射时,当使用查找函数而不是表达式转换时使用 |
可以返回多个值 | 只返回一个输出端口 |
它可以连接到其他转换并返回值 | 无法连接其他转换 |
连接查找可以使用静态或动态缓存 | 未连接查找只使用静态缓存 |
连接查找支持用户定义的默认值 | 未连接查找不支持用户定义的默认值 |
在连接查找中,可以从同一行返回多个列或插入到动态查找缓存中 | 未连接查找指定一个返回端口并从每行返回一个列 |
18) 解释什么是数据源视图?
数据源视图允许定义将在分析服务数据库中使用的关系模式。维度和多维数据集不是直接从数据源对象创建的,而是从数据源视图创建的。
19) 解释 OLAP 工具和 ETL 工具之间的区别?
ETL 和 OLAP 工具之间的区别在于
ETL 工具旨在从旧系统提取数据,并经过一些数据清洗过程后加载到指定数据库中。
示例: Data stage、Informatica 等。
而 OLAP 旨在用于报告目的,在 OLAP 中,数据以多向模型可用。
示例: Business Objects、Cognos 等。
20) 如何使用 Informatica 提取 SAP 数据?
- 您可以通过 PowerConnect 选项使用 Informatica 提取 SAP 数据
- 安装并配置 PowerConnect 工具
- 将源导入到 Source Analyzer。PowerConnect 在 Informatica 和 SAP 之间充当网关。下一步是为映射生成 ABAP 代码,然后 Informatica 才能从 SAP 中提取数据。
- Power Connect 用于连接和从外部系统导入源
21) 提及 Power Mart 和 Power Center 之间的区别?
Power Center | Power Mart |
---|---|
处理大量数据 | 处理少量数据 |
支持 SAP、PeopleSoft 等 ERP 源 | 不支持 ERP 源 |
支持本地和全局存储库 | 支持本地存储库 |
将本地转换为全局存储库 | 没有将本地转换为全局存储库的规范 |
22) 解释什么是暂存区以及暂存区的用途?
数据暂存是一个区域,您可以在数据仓库服务器上临时存放数据。数据暂存包括以下步骤:
- 源数据提取和数据转换(重构)
- 数据转换(数据清洗、值转换)
- 代理键分配
23) 什么是总线模式 (Bus Schema)?
总线模式用于识别各种业务流程的通用维度。它带有统一维度以及信息标准化定义。
24) 解释什么是数据清理?
数据清理是从数据仓库中删除数据的过程。它删除诸如具有空值或额外空格的行等垃圾数据。
25) 解释什么是模式对象?
模式对象是直接引用数据库数据的逻辑结构。模式对象包括表、视图、序列同义词、索引、集群、函数包和数据库链接。
26) 解释这些术语:会话 (Session)、工作流单元 (Worklet)、映射单元 (Mapplet) 和工作流 (Workflow)?
- 映射单元:它安排或创建转换集
- 工作流单元:它代表一组特定的给定任务
- 工作流:它是一组指令,告诉服务器如何执行任务
- 会话:它是一组参数,告诉服务器如何将数据从源移动到目标
这些面试问题也将有助于您的口试