首页 > 业内资讯 > 大数据工具比较:R语言和Spark谁更胜一筹?

大数据工具比较:R语言和Spark谁更胜一筹?

时间:2015-12-09 | 来源:数据挖掘与数据分析 | 阅读:88

话题: 数据挖掘与数据分析

以下两份资料可以帮你避免这些问题,同时理顺学习的思路:

  • Spark机器学习所有的源代码,可提供任何人拿来与R语言作对比:

https://github.com/vivekmurugesan/experiments/tree/master/spark-ml

  • Docker容器的源代码,Spark和上述项目的包已预置在内,以供快速实施:

https://hub.docker.com/r/vivekmurugesan/spark-hadoop/ Docker容器中已事先安装Apache Hadoop,并且在伪分布式环境下运行。这可以将大容量文件放进分布式文件系统来测试Spark。通过从分布式文件系统加载记录,可以很轻松地来创建RDD实例。

产能和精度

人们会使用不同的指标来衡量这些工具的好坏。对我来说,精准度和产能是决定性的因素。

大家总是喜欢R多过于Spark机器学习,是因为经验学习曲线。他们最终只能选择在R上采用少量的样本数据,是因为R在大数据量的样本上花了太多时间,而这也影响了整个系统的性能。

对我来说,用少量的样本数据是解决不了问题的,因为少量样本根本代表不了整体(至少在大部分情况下是这样)。所以说,如果你使用了少量样本,就是在精度上选择了妥协。

一旦你抛弃了少量样本,就归结到了生产性能的问题。机器学习的问题本质上就是迭代的问题。如果每次迭代都花费很久的话,那么完工时间就会延长。可是,如果每次迭代只用一点时间的话,那么留给你敲代码的时间就会多一些了。

结论

R语言包含了统计计算的库和像ggplot2这样可视化分析的库,所以它不可能被完全废弃,而且它所带来的挖掘数据和统计汇总的能力是毋庸置疑的。

但是,当遇到在大数据集上构建模型的问题时,我们应该去挖掘一些像Spark ML的工具。Spark也提供R的包,SparkR可以在分布式数据集上应用R。

最好在你的“数据军营”中多放点工具,因为你不知道在“打仗”的时候会遇到什么。因此,是时候从过去的R时代迈入Spark ML的新时代了。

原文:Tools in the data armoury: R vs Spark


湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网