数开面试题咨询
#数开#面试时被问到一个问题是:
1.用sql实现topn问题,那么如何用MR程序来实现同样的topn功能呢?
还有一次被问到,两表join,如何用MR来实现它呢?
给我搞的很迷茫,不知道该怎么回答。
难道看到SQL就知道它的执行计划,然后就可以写出对应的MR程序了?
有大佬知道这两个问题答案是什么?这样的问题该怎么准备呢?
1.用sql实现topn问题,那么如何用MR程序来实现同样的topn功能呢?
还有一次被问到,两表join,如何用MR来实现它呢?
给我搞的很迷茫,不知道该怎么回答。
难道看到SQL就知道它的执行计划,然后就可以写出对应的MR程序了?
有大佬知道这两个问题答案是什么?这样的问题该怎么准备呢?
全部评论
应该就是想问问MR具体map 和 reduce 阶段如何实现特定功能吧,虽然工作也不会直接写MR程序
m
第二个可以回答common join,mapjoin,bucket mapjoin的执行计划不
学hadoop的时候好像有用过mr实现这个功能,不过现在早忘光了
两表join的话两种方式吧,一种是小表缓存在maptask里直接mapjoin 一种是map处理的时候你设计value类型的实体类加个标记字段,标记他是哪个表来的 reducetask里根据这个字段来将value分成两批 然后就是两层for循环join
Java代码 有mapper类和reducer类 之前学习的时候有处理过类似的问题 现在忘记了😋
相关推荐