本人才上大二,老师给了个课题要比较R语言和Hadoop处理数据的效率. 最后我们得出来以下结论, 希望大家能帮我们确认和改进一下.
1. 在数据不大的情况下R语言处理效率高一点. 2.当数据大的时候,因为R语言这样传统的处理软件是吧数据先放到内存里再处理所以内存不够就跪了(这点十分不确定). 此时Hadoop就更适合. 但是如果MapReduce是一个重复(迭代?)的程序比如K-means, 我们还是会在数据的读写上浪费很多时间因为每次处理完要存起来再读取. apache spark是用来解决这一问题的方法.
才开始了解大数据这方面的内容加上学的不够多所以希望大家帮帮忙.
哈,我愣是没理解你这句话“2.当数据大的时候,因为R语言这样传统的处理软件是吧数据先放到内存里再处理所以内存不够就跪了(这点十分不确定). 此时Hadoop就更适合. 但是如果MapReduce是一个重复(迭代?)的程序比如K-means, 我们还是会在数据的读写上浪费很多时间因为每次处理完要存起来再读取. apache spark是用来解决这一问题的方法.”
非常客观的说,采用hadoop,无论数据量大小,他的执行速度都比不过专门的多进程网络化集群系统。因为这类系统,从进程通信到内存分配和逻辑调度,都是从操作系统层面之上,面向具体任务特性进行设计的。mapreduce这种隔离,只会令业务逻辑和底层实现方式的藕合度降低,从而总是以较低执行效率完成工作任务。
吹水说hadoop中的mapreduce快的,是针对开发速度。但真正需要用到大规模集群系统进行大规模数据,多步骤,可并发的计算系统又有多少?这样的系统,如果真正在乎计算速度或并发度,是否又会省钱不做专门的业务系统?集群化的业务系统,难点是在任务切割,分配,网络间进程协同上。就是用hadoop的mapreduce,面向业务的逻辑切割,同步问题,就不需要折腾了?哈
######回复 @wd14 : 看具体设计目标和设计方式。无论那种设计方式,落到具体任务,不可简化的逻辑,不可省略的步骤,都是逃不过去的。哈。######我补充解释了一下,您看看现在能不能理解我的意思?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。