果然,被老程序员拖去帮他面试了.
经过一上午的面试,我发现自己的水平还是比较高的哈哈哈哈.
老程序员:有什么感想没有?
我:我觉得咱们公司能有我这样的实习生确实是福气
老程序员:(装13?)何出此言?
我:他们回答不上的我都能答上
老程序员:(.....)你坐我对面去
我:......来真的?
老程序员:聊聊你对Kylin和Presto的看法.
我:Kylin快是因为用的预计算,相当于是group by with cube,咱们公司用Presto是因为可以跨框架join.其他就不会了(我是老实人,不会就是不会)
老程序员:聊聊Spark和MR的区别
我:1.Spark是多进程多线程的模型,MR是多进程单线程的模型 2.Spark任务出现问题时可以使用血缘关系重新计算求得原RDD,但是MR只能重启任务了 3.还有一点就是之前提过的JVM重用问题,我就不多说了.
老程序员:MR就干啥啥不行吗?
我:我比较喜欢Hive On MR,因为它在运行大任务时更稳定一些,同时因为是单线程,不会出现资源竞争的问题.Spark *** 作Hive时在特定情况下会有Bug,报空指针什么的时有发生.
老程序员:来来来,现场写个SQL
我:???我平时写的还不够多吗,我不想当SQL Boy
我:(思索片刻)我觉得不能从平常的角度来看这道题,我可以把它转换成一个流数据来理解,然后统计在播的人数.求和完之后开个窗拿到下一行的时间,取出sum(flag)列最大的那几行就是高峰期的时间线了!
↓↓↓↓↓↓↓↓↓↓↓
老程序员:写数据库时,选用什么Sink?
我:首先,jdbc Sink传参的时候会发现必须先传预编译的sql,才能拿到数据,进行赋值,所以对于动态分流,或者说有表名,字段个数等内容不确定的时候,JDBC Sink就不合适了,需要使用到自定义Sink.但是如果是确定对单表写入,JDBC Sink封装的肯定是更加完善,这时候使用JDBC Sink就会很合适
老程序员:好的,最后一个问题,能不能去给我买包烟?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)