有没有人概述一下SparkR和sparklyr的优缺点?谷歌没有产生任何令人满意的结果,两者似乎相当相似。尝试这两种方式,SparkR看起来要麻烦得多,而sparklyr非常简单(既要安装,也要使用,特别是在使用dplyr输入时)。sparklyr只能用于并行运行dplyr函数,还是“普通”的R-Code?
最好的
发布于 2016-10-12 03:24:57
SparkR的最大优势是能够在用R编写的Spark任意用户定义函数上运行:
https://spark.apache.org/docs/2.0.1/sparkr.html#applying-user-defined-function
由于sparklyr将R转换为SQL,因此您只能在mutate语句中使用非常小的函数集:
http://spark.rstudio.com/dplyr.html#sql_translation
扩展(http://spark.rstudio.com/extensions.html#wrapper_functions)在一定程度上缓解了这一缺陷。
除此之外,sparklyr是一个赢家(在我看来)。除了使用熟悉的dplyr函数的明显优势之外,sparklyr还有更全面的MLlib (http://spark.rstudio.com/mllib.html)和上面提到的扩展。
发布于 2016-09-20 20:34:37
有关概述和深入的详细信息,请参阅documentation。引用文档中的“sparklyr包提供了一个完整的dplyr后端”。这反映了sparklyr是,而不是对原始apache spark的替代,而是对它的扩展。
继续,谈到它在独立计算机上的安装(我是Windows用户),您需要下载并安装新的RStudio预览版,或者在RStudio外壳中执行以下一系列命令。
> devtools::install_github("rstudio/sparklyr")
如果您没有安装readr和digest包,请安装它们。
install.packages("readr")
install.packages("digest")
library(sparklyr)
spark_install(version = "1.6.2")`一旦安装了软件包并尝试连接,使用命令连接到spark的本地实例;
sc <- spark_connect(master = "local")您可能会看到如下错误
在以下位置创建了默认的hadoop bin目录: C:\spark-1.6.2\tmp\hadoop错误:
要在Windows上运行星火,你需要一个Hadoop winutils.exe的副本:
将
或者,如果您使用的是RStudio,则可以安装RStudio Preview Release,其中包含Hadoop winutils.exe的嵌入式副本。
系统将为您提供错误解决方案。转到github帐户,下载winutils.exe文件并将其保存到C:\spark-1.6.2\tmp\hadoop\bin位置,然后再次尝试创建spark上下文。去年,我在我的blog上发表了一篇全面的文章,详细介绍了sparkR在windows环境下的安装和使用。
话虽如此,我建议不要经历这种痛苦的过程,在通常的RStudio上安装spark的本地实例,而是尝试RStudio Preview版本。它将极大地省去创建sparkcontext的麻烦。继续,这里是关于如何使用R-bloggers的sparklyr的详细文章。
我希望这能帮到你。
干杯。
发布于 2016-09-28 06:30:35
我可以为您介绍sparklyr的亮点
从CRAN.
,
在当前的0.4版本中,它还不支持任意并行代码执行。但是,可以很容易地用Scala编写扩展来克服这个限制,请参见sparkhello。
https://stackoverflow.com/questions/39494484
复制相似问题