ETL工程师作为技术性工作岗位,在求职时必然要面对笔试题目。很多公司在面试的过程中所考察的题目大致相同,因此可以多总结笔试题中涉及到的常见知识点以及常见题目。
ETL三个字母代表的意思分别是Extract抽取、Transformer转化和Load加载,就是指将需要的数据从源系统中抽取出来,按照业务需求转化成对应的形式,再对不一致的数据进行加工,最后是把加工好的数据装载到另一个数据源系统。对此,应聘者在笔试前需要掌握的常见知识点如下:
1、常用数据库Oracle、Mysql语法和类型的区别;
2、Oracle中常见函数的意思及用法;
3、SQL优化条件;
4、常用的linux命令;
5、ETL日常作业的部署和调度。
不同公司的ETL工程师笔试题目和题型不相同,大型企业笔试题目通常包括选择题和简答题,下面精选几道笔试题以供参考。
题目1:关于主键(primary key)和唯一索引(unique index)的说法哪些是错误的?( C )
A.唯一索引的列允许为null值
B.主键的列不允许为null值
C.一个表只能有一个唯一索引
题目2:下列说法中,哪些是正确的?( BD )
A.一个事务中的某条sql命令提交时,其它sql命令可以不提交
B.在一个关系表中,主键可唯一标识一行记录
C.一个关系表中的外键必定是另一表中的主键
D.回滚可以在事务失败时,回到操作事务前的数据状态
题目3:很多时候会通过Hue添加一些大数据组件,其中就有Hive和Impala,那么两者的区别和各自优势?
答:在底层表结构和数据变更的时候,Hive的实时响应比Impala要快很多,所以如果刚刚同步完一张表,如果没有进行Refresh或者Rnvalidate Metadata,那么Hive可能很快能查到这张表的表结构和同步数据,而Impala需要几分钟以后才能开始使用这张表。但是,Impala的查数速度快于Hive,这是因为Hive的底层查数是使用缓慢的MapReduce批处理,而Impala直接从HDFS或HBase中用Select、Join和统计函数查询数据,大大降低了延迟。
题目4:使用Explain Plan,查询PLAN_TABLE。
答:EXPLAIN PLAN
SET STATEMENT_ID=‘QUERY1’
FOR
SELECT *
FROM a
WHERE aa=1;
SELECT operation, options, object_name, object_type, ID, parent_id
FROM plan_table
WHERE STATEMENT_ID = ‘QUERY1’
ORDER BY ID;
总之,ETL工程师笔试题目通常是需要进行代码编写的,不过由于时间限制,通常需要编写的代码不会太复杂,并且笔试题主要集中于各项查询及表链接,想在笔试中取得好成绩,还应在这几个方面多加练习。