Distributed R

Posted 唠叨阁大学士

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Distributed R相关的知识,希望对你有一定的参考价值。

R语言的分布式目前有这几个产品:

(A)RHadoop:对hadoop族系的产品,其中提供了以下的组件

A.1 rhdfs  浏览读取增加修改hdfs上面的文件数据;

A.2 rhbase 浏览读取增加修改hbase中的文件数据;

A.3 plyrmr 用mr方式在hadoop中提供类似于plyr/reshape2这样的数据操作的功能;需要安装到每个节点上面;

A.4 rmr2 用mr方式运行R语言,需要每个节点进行安装,查看例子 https://github.com/jseidman/hadoop-R/blob/master/airline/src/deptdelay_by_month/R/rmr/deptdelay-rmr.R

好了,至此可以看出,RHadoop提供了一套基于hadoop和R语言对接的联通功能,但也无法全面兼容已经存在的各种R语言的包,现存的各种算法不经过修改也无法可以在hadoop上面运行;

 

 

(2)sparkR:基于 parallel DataFrame abstraction

不同于hadoop,sparkR DataFrame 抽象是类似于R中的表数据的结构,但是存储在云端环境里面。sparkR得益于RDD的设计,在DF层面支持分布式的数据的处理,同样的是需要用户自己迁移现有的算法库;sparkR能够直接使用类似于原生R语法进行操作,例如:

 

# Create a new DataFrame that contains "young users" only
young = users.filter(users.age < 21)
# Alternatively, using Pandas-like syntax
young = users[users.age < 21]
# Increment everybody‘s age by 1
young.select(young.name, young.age + 1)
# Count the number of young users by gender
young.groupBy("gender").count()
# Join young users with another DataFrame called logs
young.join(logs, logs.userId == users.userId, "left_outer")

  具体https://databricks.com/blog/2015/06/09/announcing-sparkr-r-on-spark.html

 官方文档http://people.apache.org/~pwendell/spark-releases/latest/sparkr.html#sparkr-dataframes

 

(3)Microsoft R: 整合了开源R和hadoop R

以上是关于Distributed R的主要内容,如果未能解决你的问题,请参考以下文章

r R有用的代码片段

需要对特定 R 代码片段的解释

有人可以解释以下 R 代码片段吗? [关闭]

如何将 r ggplot 图存储为 html 代码片段

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li

Android 动画嵌套片段