zoukankan      html  css  js  c++  java
  • MapReduce的局限性

        从MapReduce 的特点可以看出MapReduce的优点非常明显,但是MapReduce也有其局限性,并不是处理海量数据的普适方法。它的局限性主要体现在以下几点。

    •   MapReduce的执行速度慢。一个普通的MapReduce作业一般在分钟级别完成,复杂的作业或者数据量更大的情况下,也可能花费一小时或者更多,好在离线计算对于时间远没有OLTP那么敏感。所以MapReduce现在不是,以后也不会是关系型数据库的终结者。MapReduce的慢主要是由于磁盘I/O,  MapReduce作业通常都是数据密集型作业,大量的中间结果需要写到磁盘上并通过网络进行传输,这耗去了大量的时间。
    •   MapReduce过于底层。与SQL相比,MapReduce显得过于底层。对于普通的查询,一般人是不会希望写一个map函数和reduce函数的。对于习惯于关系型数据库的用户,或者数据分析师来说,编写map函数和reduce函数无疑是一件头疼的事情。好在Hive的出现,大大改善了这种状况。
    •  不是所有算法都能用MapReduce实现。这意味着,不是所有算法都能实现并行。例如机器学习的模型训练,这些算法需要状态共享或者参数间有依赖,且需要集中维护和更新。





    本文参考书籍------Hadoop海量数据处理 技术详解与项目实战

  • 相关阅读:
    D. Renting Bikes 二分
    Maximum Absurdity DP + 数学
    模拟 H
    Secrets 数论
    A. Knight Tournament SET的应用
    B. Xenia and Hamming Codeforces 256B GCD,LCM处理字符串
    Alternate Task UVA11728 暴力枚举
    GCD Extreme (II) 欧拉函数的应用
    Bit Magic HDU 4421 2-Sat
    Encoding http://acm.hdu.edu.cn/showproblem.php?pid=1020
  • 原文地址:https://www.cnblogs.com/DeepRunning/p/9205989.html
Copyright © 2011-2022 走看看