⾼级ETL⼤数据⼯程师⾯试题
⾼级ETL⼤数据⼯程师⾯试题
这部分⾯试题是⽤来⾯试⾼级ETL⼯程师的,初中级只需要问sql与kettle⼯具即可。
参考:
⽂章⽬录
1. 当数据源与ODS为不同数据库类型时怎么办?
α 将源数据导出为⽂本⽂件,再将⽂件导⼊ODS【会增加传输步骤】
β 如果能建⽴ODBC连接则直接使⽤【会对源数据系统造成压⼒】
2. 直接连接数据库和使⽤ODBC连接各有什么优缺点?
优点缺点
直连(PL/SQL、COBOL等)运⾏性能⾼通⽤性差
ODBC性能差灵活性(不同数据库只需要换驱动)
3. ETL过程中基于安全考量,你觉得哪些步骤应该写到磁盘上?
*Staging Area(数据准备区)的每⼀步都要写到磁盘上
例如:连接源系统数据抽取阶段,将抽取的数据保存到数据准备区(类似于ODS),⽽不是不让数据落地。
大数据etl工具有哪些4. 有哪些⽅式实现增量抽取?
增量机制⽀持类型数据完备抽取性能源系统影响实现难度
1.触发器RMDB⾼优⼤容易
2.时间戳RMDB,表具有时间字段低较优很⼩容易
3.全表对⽐RMDB;⽂本格式⾼差⼩⼀般
4.⽇志表RMDB⾼优⼩容易
5. 怎么评估⼤型ETL任务的数据加载时间?
数据加载分两⼤类,⼀个是初次全量加载;另⼀类是增量加载
全量加载:
α.分为抽取、转换、加载三部分,然后时间加起来
β.按数据总量的10%处理任务,然后总时间*10
增量加载:
α.可参考全量加载,但是因为增量数据量少,分析更容易
β.参考上⼀次增量的时间直接评估(增量每天/次的数据量是差不多的)
6. 举例说明⼀下ETL中有哪些元数据?
业务元数据:业务⾓度对数据的描述
技术元数据:技术⾓度对数据的描述,如数据类型、长度
过程处理元数据:ETL处理过程中的统计数据,如加载总记录数、失败总记录数
7. 你⼯作中有哪些⽅法验证ETL数据质量?
α.校验每天的记录数【>0】
β.Null和0的校验【null和0的记录总数不能超过当⽇新增的99%】γ.每天新增记录的波动范围【范围可控】
δ.重复记录数校验【不可能两条数据完全⼀样】
ε.数据时间校验【数据采集时间⼩于当前时间】
8. ETL运⾏慢,可以从哪些⽅⾯进⾏分析?
α.CPU、内存、I/O、⽹络
β.代码导致的运⾏慢,隔离不同的操作逐步分析
隔离并执⾏抽取查询语句
去掉过滤条件
排除查表的问题
分析排序和聚合操作
隔离并分析每⼀个计算和转换
隔离更新策略
检测加载数据的数据库I/O
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论