微信号:infoqchina

介绍:有内容的技术社区媒体

Spark从Apache孵化器正式毕业

2014-03-12 18:25 InfoQ

 

近日,SparkApache孵化器毕业。Spark声称,与Apache Hadoop相比,它在内存数据集上的性能提升了高达100倍,而在磁盘数据集上的性能则正常回落到10倍。自2010年开源以来,Spark一直是社区中最活跃的项目之一。

 

它的快速成长可以归于几个原因。为了利用众所周知的SQL语言,它可以将自身的DSLSQL相结合。Spark的基本API是一种Scala DSL,围绕名为弹性分布式数据集(RDD)的分布式项集合构建。利用分布式执行,RDD可以支持批量和聚集操作,如筛选、映射和reduceByKeySpark可以使用Hive SQL提供具有同等执行速度的原生Scala API。重用Hive的前端和后端意味着它可以与Hive一起使用,共享数据、查询和UDFs

 

Spark使用MLib提供了一系列开箱即用的机器学习算法,涉及分类、回归分析、聚簇和推荐领域。MLib只是MLBase的一个组件。MLBase是一个分布式机器学习系统,旨在使机器学习任务对于终端用户和ML研究人员都更简单易懂。它是第一个将用户从算法选择中解放出来的系统,并针对分布式执行进行自动优化。算法选择是根据ML最佳实践和基于成本的模型实现的。分布式执行与Apache Mahout类似,并针对机器学习的数据访问模式进行了优化。

 

图算法可以用GraphX实现,后者结合了数据并行和“图并行(graph-parallel)”两种系统语义。GraphX提供了可以与Apache Giraph相媲美甚或更好的性能,而Apache Giraph则是Facebook使用的著名的图处理系统。

 

SparkRR暴露了Spark API,允许统计人员从R函数直接向Apache Spark集群提交作业。除了RDBMS之外,R是最受数据科学家欢迎的工具。它的主要问题是单线程以及本来不是为大型数据集而设计。SparkR解决了这些问题,但有限制,它只对像梯度下降法这种本来就并行的算法才有效。

 

Spark可以部署在Apache YARN上,易于与异构系统集成和共存。它还是由ClouderaDatabricks支持的Cloudera企业数据中心版的一部分,其中DatabricksSpark商业化的推动者。最后,Streaming可以帮助快速创建原型及应用有效的分布式系统语义。读者可以从GitHub上获取Spark的代码。

***********************************
本文来自InfoQ微信公众账号:infoqchina
1、回复“今日新闻”,查看今天更新的新闻;
2、回复“今日英文”,查看今天英文站的更新;
3、回复“文章 +关键词”,搜索关键词相关内容;
4、回复“QCon”,了解QCon大会相关信息;
5、回复“活动”,了解最近InfoQ组织的线下沙龙;
6、回复“架构师”,获取《架构师》下载地址;
7、回复“投稿”,了解投稿和加入编辑团队的流程。
***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 怎样成为一个好的PHP程序员? MYSQL常用命令集锦 早该知道的 GitHub 增强工具/产品(一) 2015 GOOGLE I/O大会看点总结:新产品新工具新计划 谷歌推出全新Android开发语言Sky:让App更流畅