写点什么

通过 SparkR 在 R 上运行 Spark

2014 年 2 月 25 日

R 依然是数据学家手中最强大的语言之一,即使早在 2014 年一月底,加州大学伯克利分校的 AMPLab 就宣布发布了其 SparkR 项目的开发者预览版,该版本使用了基于原生R 语言的Apache Saprk,但是其使用难度还是在不断增加。

作为一个大规模处理内存中数据的大数据框架, Apache Saprk 最近积攒了大量人气,像 Cloudera 这样的大公司已经表示大力支持该项目了。Cloudera 最近宣布在其针对 Hadoop 的 Cloudera 分支(CDH)4.4.0 以后的版本中将对Spark 提供官方支持。这将包含最近在二月份才发布的最新版 Spark 0.9 ,它是运行 SparkR 的预置条件。SparkR 出现的正是时候,因为 CDH 是最流行的 Hadoop 分支之一,而这有助于促使那些熟悉 R 略胜于 Java 和 Scala 的数据学家采用 SparkR,这在 O’Reilly 的一份关于数据学家的近期调查报告中就有所体现。

SparkR 应该被看作是 R 版 Spark 的轻量级前端,这意味着它不会拥有像 Scala 或 Java 那样广泛的 API,但它还是能够在 R 里运行 Spark 任务和操作数据。它其中的一项关键特性就是有能力序列化闭包,从而能依次透明地将变量副本传入需要参与运算的 Spark 集群。SparkR 还通过内置功能的形式集成了其他的 R 模块,这一功能会在需要某些模块参与运算的时候通知 Spark 集群加载特定的模块,但是,不同于闭包,这个需要手动设置。更多关于 SparkR 技术能力的细节可以参考这些总结。SparkR 还可以利用Spark 的 EC2 脚本在 EC2 上轻松进行设置,也可以在 Github 上找到与此相关的一些说明

数据学家们对SparkR 的热衷程度不言而喻,尤其是在Twitter 上,对该项目的支持数不胜数。 Alex Pinto MLSecProject 项目的负责人,进行了如下评价:

这是非常有前途的:@amplab 的 SparkR。针对数据分析汇聚了我所钟爱的一切。

托管在 Github 上的该项目是已经拥有接近 100 颗星的活跃社区。考虑到该项目才上线一个月,这应该算得上是显著的成长了。虽然还存在若干未解决的问题,但这意味着社区正在积极参与到这个新开源项目中。

AMPLab 团队已经表现出了今后在 SparkR 中集成 Spark MLlib 机器学习类库的浓厚兴趣,这样一来,算法可以无缝地并行运行而无需特别手动设定哪一部分的算法可以并行运行。MLlib 是一个名为 MLBase 的大型机器学习项目的组件之一,该项目还包含了高级别抽象和优化器。MLlib 是增长最快的机器学习类库之一,它拥有超过 137 个的贡献者,因此,给它增加使用 R 语言的能力,可以让 AMPLab 激发更多的 R 使用者为 MLlib 做出贡献。

查看英文原文: Running Spark on R with SparkR


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014 年 2 月 25 日 20:086278
用户头像

发布了 31 篇内容, 共 57310 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

金三银四,GitHub 热门面试在这里

GitHub指北

Kubernetes认证管理员

云原生

Kubernetes 云原生 k8s CKA

开启Python学习之旅,分享学习路上的神器集合!

王小王-123

Python 学习神器 资源分享 工具分享 学习网站

LiteOS内核源码分析:位操作模块

华为云开发者社区

LiteOS 源代码 位操作 bit Huawei LiteOS

NA公链(Nirvana)NAC公链独步公链江湖

区块链第一资讯

区块链

图像视频压缩:深度学习,有一套

华为云开发者社区

深度学习 自编码器 图像压缩 循环神经网络 视频压缩

C语言性能优化:减少相关性依赖,利用指令并行提升性能

一笑置之

编程 性能优化 C语言 cpu 100%

Veema 寄来的新书

吴威

vmware 容灾 备份 veeam esxi

带你全面认识CMMI V2.0(三)——实践域

渠成CMMI

CMMI

如何在Python中实现Round函数?

华为云开发者社区

Python 函数 Numpy Round 舍入函数

纸币会消失吗:数字货币如何走进我们生活

CECBC区块链专委会

货币

Python API 邮件发送测试

HoneyMoose

区块链下乡

CECBC区块链专委会

区块链

2020(大连)中国广告人年度盛典 暨“东北三省四市品牌广告”高峰论坛顺利举行;淘宝为 2020 年度丑东西颁奖

󠀛Ferry

七日更 3月日更

一个有情怀的PPT模板下载网站

happlyfox

学习 3月日更 工具分享

Wireshark数据包分析学习笔记Day19

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

产品经理能力不够,产品方法论来凑

lenka

3月日更

uni-app跨端开发H5、小程序、IOS、Android(七):uni-app渲染

黑马腾云

html5 uni-app 前端框架 3月日更

(Day30) 谁来驱动变革

mtfelix

28天写作 bewriting

领跑行业!浪潮云斩获“2021云管和云网大会”多项殊荣

浪潮云

云计算 云原生

开源的 Switch 模拟器——GitHub 热点速览 v.21.12

HelloGitHub

GitHub 开源 开源项目

LeetCode题解:126. 单词接龙 II,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

实践解析丨Rust 内置 trait:PartialEq 和 Eq

华为云开发者社区

rust hash Trait PartialEq Eq

通过Adobe国际认证!让艺术成为职业,把未来掌握在手中

Adobe国际认证

如何将多个目录下的文件汇总到一个文件夹

Tango

3月日更 IT蜗壳教学

区块链圈频现百万元年薪招聘 现金+股票仍难觅良才

CECBC区块链专委会

区块链人才

中国最可靠的 Go 模块代理

happlyfox

学习 3月日更

【Axure9百例NO.45】中继器的不同场景下的样式处理

zhuchuanming

原型设计 Axure 交互原型

前端开发:数据处理方法分享(其一)

三掌柜

vue.js 前端 3月日更

深入理解ES8的新特性SharedArrayBuffer

程序那些事

JavaScript ecmascript 程序那些事 es8

适配器模式在Mybatis中的妙用

Java小咖秀

Java 源码 设计模式 mybatis 开发

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

通过SparkR在R上运行Spark-InfoQ