R 语言怎样进行分布式计算

Python025

R 语言怎样进行分布式计算,第1张

这个可能比较麻烦,需要对R程序的底层API和package都要进行重构以适应分布式运算和分布式文件存储,现在好像没有什么好办法,因为现在很多包如果放到分布式上面可能都不能运行。有程序方面的原因,也有可能很多统计算法并不适合分布式计算

简单说就是R语言和Spark的一个接口,可以通过R语言调用Spark的计算能力,把计算任务分配到Spark的节点上来做。

亮点:

1、近乎完整的dplyr语法!用过dplyr的同学一定知道这套语法是多么的人性化…

2、可以直接调用Spark的机器学习能力!再也不用纠结pull到R里面的数据不够...

3、不要钱……

弱点:

1、如果不是Spark包自带的算法的话还是要自己Call Spark API写…要懂一点分布式开发

2、仔细一想这就是给Spark做了个壳...不能说是用R在做分布式运算orz

至于Microsoft...现在有Microsoft R Server, 提供了很多R原生函数的High Performance Analysis版本,可以实现并行运算...

R语言适合单机版吧,函数肯定比spark丰富;

spark是分布式计算引擎,里面包含ml(machine learning),函数和功能没有R多,而且输入格式要求比较高。适合大数据量下的计算(十亿或百亿级别,TB级别以上的数据),不过Spark也有SparkR组件,建议可以了解一下。

一般情况下,是用抽样数据,在R上实现模型,看看是否可用,再在大数据量下用Spark实现,并运行调优