mapreduce有哪些局限性
1个回答
展开全部
从MapReduce 的特点可以看出MapReduce的优点非常明显,但是MapReduce也有其局限性,并不是处理海量数据的普适方法。它的局限性主要体现在以下几点。
MapReduce的执行速度慢。一个普通的MapReduce作业一般在分钟级别完成,复杂的作业或者数据量更大的情况下,也可能花费一小时或者更多,好在离线计算对于时间远没有OLTP那么敏感。所以MapReduce现在不是,以后也不会是关系型数据库的终结者。MapReduce的慢主要是由于磁盘I/O, MapReduce作业通常都是数据密集型作业,大量的中间结果需要写到磁盘上并通过网络进行传输,这耗去了大量的时间。
MapReduce过于底层。与SQL相比,MapReduce显得过于底层。对于普通的查询,一般人是不会希望写一个map函数和reduce函数的。对于习惯于关系型数据库的用户,或者数据分析师来说,编写map函数和reduce函数无疑是一件头疼的事情。好在Hive的出现,大大改善了这种状况。
不是所有算法都能用MapReduce实现。这意味着,不是所有算法都能实现并行。例如机器学习的模型训练,这些算法需要状态共享或者参数间有依赖,且需要集中维护和更新。
MapReduce的执行速度慢。一个普通的MapReduce作业一般在分钟级别完成,复杂的作业或者数据量更大的情况下,也可能花费一小时或者更多,好在离线计算对于时间远没有OLTP那么敏感。所以MapReduce现在不是,以后也不会是关系型数据库的终结者。MapReduce的慢主要是由于磁盘I/O, MapReduce作业通常都是数据密集型作业,大量的中间结果需要写到磁盘上并通过网络进行传输,这耗去了大量的时间。
MapReduce过于底层。与SQL相比,MapReduce显得过于底层。对于普通的查询,一般人是不会希望写一个map函数和reduce函数的。对于习惯于关系型数据库的用户,或者数据分析师来说,编写map函数和reduce函数无疑是一件头疼的事情。好在Hive的出现,大大改善了这种状况。
不是所有算法都能用MapReduce实现。这意味着,不是所有算法都能实现并行。例如机器学习的模型训练,这些算法需要状态共享或者参数间有依赖,且需要集中维护和更新。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询