Apache Spark六个值得关注的特性

日期: 2014-09-02 作者:张亮亮 来源:TechTarget中国

Apache Spark是什么?如果你从事大数据分析方面的工作,你是否会希望了解Spark?希望通过本文可以帮助回答这些持续萦绕在你脑海中挥之不去的问题。Apache Spark是针对Hadoop数据的一个功能强大的开源处理引擎,它是围绕速度,易用性以及复杂分析而建立的。它最初由UC Berkeley的AMPLab开发,后来提交到了Apache软件基金会。

Apache Spark基本上是一个并行数据处理框架,它可以和Apache Hadoop协同并让开发工作变得更加快速、容易。Spark可以让大数据与快数据应用结合在一起,可以通过流数据处理让所有的数据进行交互式分析。

本文就将介绍Apache Spark最值得关注的六大特性。

1.超快速数据处理

当提及大数据的时候,处理速度总是至关重要的。我们总是寻求尽可能快地处理海量数据。Spark可以让Hadoop集群中的应用程序在内存中的执行速度提升100倍,而在磁盘中的速度甚至也能加快10倍之多。

Spark采用的方式是减少对磁盘的读写次数,它把这一中间处理数据存储在内存中。它使用了一个称为弹性分布式数据集(RDD)的概念,这使得它可以在内存上透明地存储数据并只有在需要的时候才传输给磁盘。这将减少大多数数据处理的磁盘读写,而这正是最消耗时间的因素。

基于Hadoop的Spark性能

(基于Hadoop的Spark性能。)

2.多语言支持

Spark允许你用Java、Scala或是Python快速编写应用程序。这有助于让开发人员用他们各自所熟悉的编程语言来创建并执行应用程序。它自带一个内置指令集,支持80多个高级操作符。我们可以用它在shell中对数据进行交互式的查询。

3.支持复杂查询

除了简单的map和reduce操作,Spark还支持SQL查询,流数据,还有诸如机器学习和开箱即用的图形算法之类的复杂分析。不仅如此,用户还可以在一个单独工作流中将所有这些功能无缝地结合在一起。

4.实时流处理

Spark可以处理实时流数据,而MapReduce主要处理“落地”的数据。Spark使用Spark Streaming来操纵实时数据,但是Hadoop中还提供了其他一些框架,同样可以实现流数据处理。

Spark Streaming功能特点:

  • 简单:建立在Spark轻量级且功能强大的API之上,Spark Streaming可以让你快速开发出流应用程序。
  • 容错:不同于其他的流解决方案(例如:Storm),Spark Streaming在没有额外代码和配置的情况下可以恢复丢失的工作并提供开箱即用地唯一语义。
  • 集成:为批处理和流处理复用相同的代码,甚至把流数据加入到历史数据中去。

基于Storm与Spark的流数据处理性能对比

(基于Storm与Spark的流数据处理性能对比)

5.集成Hadoop和已有Hadoop的数据功能

Spark可以独立运行。除此之外,它可以在Hadoop 2的YARN集群管理器上运行,并且还能读取任何已有Hadoop数据。这是一个巨大的优势!它可以从任何Hadoop数据源读取数据,如HBase,HDFS等等。如果此应用场景真的适合Spark的话,Spark的这一特性使其适用于现有的纯Hadoop应用程序的迁移。

6.活跃的用户社区

Apache Spark是由来自50多家公司的一大群开发人员建立的。此项目开始于2009年并且到目前为止有超过250名开发人员参与了进来!对于问题跟踪它拥有活跃的邮件列表和项目事务跟踪工具(JIRA)。

以下是一些参考链接:

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

张亮亮
张亮亮

TechTarget特邀编辑。毕业于北京邮电大学网络技术研究院。熟悉软件开发测试的各个环节和流程,对操作系统,数据库,计算机网络等有较为深入的理解。现就职于中国电子科技集团公司下属研究所,从事软件研发工作。热衷于英文的学习交流,平时喜欢户外运动,音乐,电影。

相关推荐