大数据项目实战必备技能之Spark

本文介绍了Spark作为快速和通用的大数据引擎的原理、与Hadoop的关系、系统架构及其运行原理。Spark提供了多种编程接口,包括Spark SQL、Spark Streaming、MLlib和GraphX,优化了迭代计算,减少了IO开销。Spark的系统架构包含Master、Worker和Executor,支持不同的运行模式。文章还提及了Spark作业的执行流程和Stage划分,并推荐了几本适合新手入门Spark的书籍。
摘要由CSDN通过智能技术生成

导读: spark是基于内存计算的大数据并行计算框架,对于spark,Apache spark官方给出的定义:spark 是一个快速和通用的大数据引擎,可以通俗的理解成一个分布式的大数据处理框架,它基于Rdd(弹性分布式数据集),立足于内存计算,因为是基于内存计算,所以提高了在大数据环境下数据处理的实时性,同时保证了高容错和高可伸缩性,允许用户将spark部署在大量廉价的硬件之上,形成集群,由于spark在性能和扩展性上有快速,易用,通用等特点,使它正在加速成为一体化,多元化的大数据通用计算平台和库。

Spark 原理简述

Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口.


大数据项目实战必备技能之Spark

 


 Hadoop 和 Spark 的关系

Google 在 2003 年和 2004 年先后发表了 Google 文件系统 GFS 和 MapReduce 编程模型两篇文章,. 基于这两篇开源文档,06 年 Nutch 项目子项目之一的 Hadoop 实现了两个强有力的开源产品:HDFS 和 MapReduce. Hadoop 成为了典型的大数据批量处理架构,由 HDFS 负责静态数据的存储,并通过 MapReduce 将计算逻辑分配到各数据节点进行数据计算和价值发现.之后以 HDFS 和 MapReduce 为基础建立了很多项目,形成了 Hadoop 生态圈.

而 Spark 则是UC Berkeley AMP lab (加州大学伯克利分校AMP实验室)所开源的类Hadoop MapReduce的通用并行框架, 专门用于大数据量下的迭代式计算.是为了跟 Hadoop 配合而开发出来的,不是为了取代 Hadoop, Spark 运算比 Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁盘中,第二次 Mapredue 运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余 IO 消耗. Spark 则是将数据一直缓存在内存中,直到计算得到最后的结果,再将结果写入到磁盘,所以多次运算的情况下, Spark 是比较快的. 其优化了迭代式工作负载[^demo_zongshu].

具体区别如下:

大数据项目实战必备技能之Spark

 

伯克利大学将 Spark 的整个生态系统成为 伯克利数据分析栈(BDAS),在核心框架 Spark 的基础上,主要提供四个范畴的计算框架:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值