Spark概述

Spark是一款快速、通用且可扩展的大数据分析引擎,相比Hadoop MapReduce,Spark基于内存计算的优势使其运行速度更快。它支持多种编程语言如Java、Scala、Python和R,并提供了一站式的数据处理解决方案,涵盖批处理、交互式查询、实时流处理、机器学习和图计算等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Spark是什么

Spark是一种快速,通用,可扩展的大数据分析引擎。2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为apache孵化项目。2014年成为apache顶级项目。
目前,Spark生态系统已发展成为一个包含多个子项目的生态系统,他的子项目包括:
1.Spark SQL
2.Spark Streaming
3.GraphX
4.MLLib

Spark是基于内存计算的大数据并行计算框架(大数据计算引擎)
Spark是基于内存的开源大数据处理框架

二. Spark的特点

1.快

与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的计算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。

2.易用性

支持java,scala,python,R四种语言的API,且支持交互式的python和Scala的shell。

3.通用性

一站式解决方案,离线处理,实时处理(Streaming)sql
提供了统一的解决方案,可以用于批处理,交互式查询(Spark sql),实时流处理(Spark streaming),机器学习(Spark MLlib),图计算(graphX).这些不同类型的处理都可以在同一应用中无缝使用

4.兼容性高

Spark可以使用Yarn和apache mesos作为他的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括hdfs,hbase,cassandra等。Spark也可以不使用第三方的资源管理和调度器,它实现了Standalone作为其内置的资源管理和调度框架

三.Spark和Hadoop的比较

MapReduce:

读–处理–写磁盘 读–处理–写 两步计算,磁盘存储

Spark:

读–处理–处理–(需要的时候写磁盘)–写 多步计算,内存存储

Spark是在借鉴了MapReduce基础之上发展而来的,其继承了分布式计算的优点并改进了MapReduce明显的缺陷。

Spark和Hadoop的区别:

首先Spark把中间数据放到内存中,迭代运算效率高,而MapReduce中间计算结果需要落地,保存到磁盘上,这样势必会影响整体速度。而Spark支持DAG图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了效率。(延迟加载)
其次Spark容错性高。Spark引进了弹性分布式数据集RDD(Resilient Distributed Dataset)的抽象,它是分布在一组节点中的只读集合,这些集合是弹性的,如果数据集一部分丢失,则可以根据“血统”(即允许基于数据衍生过程)对他们进行重建。另外在RDD计算时可以通过CheckPoint来实现容错。
最后Spark更加通用。MapReduce中提供了map和reduce两种操作,Spark提供的数据操作类型有很多,大致分为:Transformations和Actions两大类。Transformations包括map,filter,flatMap,ample,groupByKey,reduceByKey,union,join,cogroup,mapValues,sort等多种操作类型。Actions包括collect,reduce,lookUp和sava等操作。

Spark支持的开发语言更多,包括Scala,Java,Python,R四种语言。

总结:Spark是MapReduce的替代方案,而且兼容HDFS,Hive,可容入Hadoop的生态系统,以弥补mapredece的不足。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值