首页 > 安全资讯 >

大数据工程师(ETL)面试系列(1)

17-03-20

大数据工程师(ETL)面试系列(1),1 你觉得Spark和Hadoop的区别是什么,请简要说一说?我:Hadoop适合离线分析,是批处理;Spark适合实时分析,是近实时流,微批处理。

1. 你觉得Spark和Hadoop的区别是什么,请简要说一说?

我:Hadoop适合离线分析,是批处理;Spark适合实时分析,是近实时流,微批处理。

2. 你觉得Python和Java在使用起来,有什么区别?

我:其实自己在平时使用的时候,并没有过度割裂开这两种,因为毕竟自己是结果导向所以无论Python的缩进格式还是Java的要加逗号,最后可以实现我的需求就可以了。

补:如今,再来审视这个问题,会发现其实在使用过程中,Python,Java确实有一些需要你拐个弯注意下的,比如【Python】list的remove函数和【Java】list的remove方法,同名异能。以及Python一些轮子如何用Java去实现也是要注意的。

3. 给你两张表,表A和表B,其中表A有3条数据,表B有5条数据,问:表A left join 表B后有几条?

我:小于等于A表条数,也就是小于等于3条

补:现在看来,当时陷入了工作中带来的一个误区,就是面试官可没说join的字段是主键,它可以不唯一哈,不唯一就会导致大于3条,因为有重复,而B表记录不足的地方均为NULL,所以可能小于吗?不信客官你看:

例1:

A表的记录数在B表中全都有且B表id唯一

A表数据
B表数据
A left join B

例2

A表的记录在C表中有缺失但C表记录唯一:

A表数据
C表数据
A left join C

例3

A表的记录在D表中全都有但D表id不唯一:

A表数据
D表数据
A left join D

所以正解应该是大于等于A表的条数

相关文章
最新文章
热点推荐