数仓开发那些事(5)

数仓开发那些事(5),第1张

数仓开发那些事(5)

果然,被老程序员拖去帮他面试了.

经过一上午的面试,我发现自己的水平还是比较高的哈哈哈哈.

老程序员:有什么感想没有?

我:我觉得咱们公司能有我这样的实习生确实是福气

老程序员:(装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就会很合适

老程序员:好的,最后一个问题,能不能去给我买包烟?

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5664714.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存