大数据框架Spark六个值得关注的特性

Apache Spark是针对Hadoop数据的一个功能强大的开源处理引擎,它是围绕速度,易用性以及复杂分析而建立的。它最初由UC Berkeley的AMPLab开发,后来提交到了Apache软件基金会。

  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性能。)

  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的流数据处理性能对比)

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

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

  6.活跃的用户社区

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

强力推荐阅读文章

年薪40+W的大数据开发【教程】,都在这儿!

大数据零基础快速入门教程

Java基础教程

web前端开发基础教程

大数据工程师必须了解的七大概念

云计算和大数据未来五大趋势

如何快速建立自己的大数据知识体系

猜你喜欢

转载自blog.csdn.net/yuyuy0145/article/details/92718431