美文网首页
2017年了还在用MapReduce的公司是不是智障?

2017年了还在用MapReduce的公司是不是智障?

作者: liprails | 来源:发表于2017-08-02 15:25 被阅读0次

    失业在家,发点牢骚。

    陆陆续续面了一些职位,跟朋友们也交流过,发现有些公司面试数据工程师确实挺有意思的,其中一种,就叫“我就是要用mapreduce我不听我不听我不听”。

    所以到底为啥一定要用mapreduce?

    我唯一的猜测,就是map reduce这种模型对于程序员们单线程的脑子来说,比sql来的简单,哦还有,schema-less,元数据这种事情最讨压了!

    所以他们习惯于从文本文件里把数据读出来,然后若干个高度优化过的map reduce过程之后,得到了一个文本文件,然后再灌进mysql,数据处理完了。全套Java搞定,美滋滋。

    稍微想一想,全用mapreduce 来处理数据有如下几个问题:

    1.没有表

    没有表意味着所有关于数据集的信息全部存在java code里,就像mongodb一样,不是没有模式,只是模式存在code里,别人想用就慢慢猜吧,所谓走自己的路让别人无路可走。

    2.刻舟求剑的优化

    有次去某云供应链公司面试,负责人跟我说他们觉得mapreduce更有控制力,更容易做优化,比如说对于数据倾斜可以预先把倾斜的key先提出来做处理等等,这种就叫做刻舟求剑式的优化,根据某一个时刻或者某一时期数据的状态来硬编码一些优化策略,等到下个月数据的状态变了,这些优化又要重做,不得加班加到死啊。

    3.事倍功半

    考虑一个企业数据分析的全流程,mr job 跟用hive相比,只省了建表的工作量,而且没有积累,昨天用mr job处理过的数据,为了和今天的新数据交互,还是要用mr job,once mr,alwayes mr。

    hive只要加载到表里,后续工作可以用多种工具完成,比如spark,比如impala,比如presto等等,无论哪一种,都比mr job工作量少。

    如果说2010年之前用mr job处理数据而不用hive是因为hive不够稳定不够好,现在还有什么理由?现在hive有tez有orc有llap,还有各种udf和udaf,还有各种分析函数,比起手写map reduce,不知道强大多少倍,到底是为啥不用hive?

    相关文章

      网友评论

          本文标题:2017年了还在用MapReduce的公司是不是智障?

          本文链接:https://www.haomeiwen.com/subject/ahvjlxtx.html