在Apache Spark上发布SparkR: R
2015年6月9日 在工程的博客
我很激动地宣布,即将发布的Apache Spark 1.4将包含SparkR,这是一个R包,允许数据科学家分析大型数据集,并在R shell上交互式地运行作业。
R是一种流行的统计编程语言,具有许多支持数据处理和机器学习任务的扩展。然而,R中的交互式数据分析通常是有限的,因为运行时是单线程的,并且只能处理适合单个机器内存的数据集。SparkR这个R包最初是在AMPLab开发的,它为Apache Spark提供了一个R前端,使用Spark的分布式计算引擎允许我们从R外壳运行大规模数据分析。
项目历史
SparkR项目最初开始于AMPLab努力探索不同的技术来整合R的可用性和Spark的可伸缩性。基于这些努力,SparkR的初始开发人员预览是2014年1bob下载地址月首次开源.接下来的一年,我们在AMPLab中开发了这个项目,通过对SparkR的开源贡献,我们在性能和可用性方面做了很多改进。bob下载地址SparkR最近被合并到Apache Spark项目中,并将在1.4版本中作为Apache Spark的alpha组件发布。
SparkR DataFrames
SparkR 1.4版本的核心组件是SparkR DataFrame,它是在SparkR DataFrame之上实现的分布式数据帧火花.数据帧是R语言中用于数据处理的基本数据结构,数据帧的概念已经扩展到其他语言的库,如Pandas等。等项目dplyr进一步简化了在数据帧上表达复杂的数据操作任务。SparkR DataFrames提供了一个类似于dplyr和本地R数据帧的API,但可以使用Spark中的分布式计算支持扩展到大型数据集。
下面的例子展示了SparkR中DataFrame API的一些方面。(您可以在https://gist.github.com/shivaram/d0cd4aa5c4381edd6f85)
#航班是SparkR数据帧。我们可以第一个打印列#名称,类型,航班# DataFrame [一年:字符串,月:字符串,一天:string, dep_time:string, dep_delay:string, #arr_time:string, arr_delay:string, carrier:string, tailnum:string, flight:string, origin:string, #dest:string, air_time:string, distance:string,小时:字符串,一分钟字符串):#打印第一个几行使用“头”(航班)#过滤器所有离开的航班从肯尼迪jfk_flights为更全面的介绍来DataFrames你可以看到SparkR编程指南在