Spark基本概述

x33g5p2x  于2020-12-20 发布在 Spark  
字(1.2k)|赞(0)|评价(0)|浏览(439)

2014年夏季,Apache Software Foundation正式发布了Spark 1.0,Spark 1.0是一个处理基础,允许在分布式集群中高速执行大数据处理。

Spark可以概括为大数据的实时分布式计算项目。与具有代表性的大数据分布式存储项目Hadoop不同,Spark伴随着“实时”一词。

由于Hadoop通过Hadoop分布式文件系统(HDFS)通过存储,因此存在缺点,即由于增加的交互而速度较慢。另一方面,由于Spark基于内存处理,因此有望成为下一代大数据处理的框架,因为它可以实现更快,更低延迟的分析。

Spark可以读取要在HDFS中处理的大数据,但是由于处理基本上是在内存中完成的,因此在进行大量迭代计算(例如机器学习或图表计算)的任务中,Spark的执行速度比Hadoop要快。这就是为什么Spark被评估为能够创建比在Hadoop MapReduce上运行快100倍的数据分析任务的原因。

已经指出,MapReduce是Hadoop集群中的性能瓶颈,因为它以批处理模式运行作业。相反,Spark已成为MapReduce的替代产品,因为它通过少于5秒的短批处理来处理分析。

Spark的第一个起点是由伯克利大学(University of Berkeley)的AMPLabs在2009年开发的一个开源软件项目。之后,它于2013年6月被采纳为孵化器项目,并于2014年2月成为顶级项目。目前,来自AMPLabs的独立初创公司databricks是主要支柱,全球有100多位专家参与了开发。

与Hadoop MapReduce不同,Spark主要处理内存处理,因此它以自己的方式解决了数据容错问题。它基于称为RDD(弹性分布式数据集)的只读数据结构,并且通过顺序执行RDD到RDD转换来执行操作。因此,当群集节点中发生错误并且数据丢失时,可通过基于此链转换的信息重新计算剩余的RDD来处理故障。

Spark由多个框架组成,因为它旨在成为处理大数据以及Hadoop的批处理方法的综合分析基础。

与Hadoop一样,Spark执行引擎负责批处理,并且是其他框架的基础。此外,还有Shark,Spark SQL和BlinkDB,它们可以在SQL中像数据仓库一样进行交互式分析。

尤其是,Spark Streaming可实现IoT传感器数据或SNS数据的实时流传输。还有Storm支持面向流的处理,但是Spark是比Storm更可靠的分布式计算平台。

Spark可以替代Hadoop中的MapReduce功能。Spark可以在现有的Hadoop集群上运行,并且YARN用于资源调度。除了Hadoop和YARN,Spark可以放在Mesos上方的层次结构中进行调度,也可以使用内置调度程序作为独立集群运行。

但是,有一点需要注意。如果未与Hadoop一起使用,则必须使用网络/分布式文件系统(例如NFS或AFS)在群集中运行它。只有这样,每个节点才能访问基础数据。

相关文章

热门文章

更多