Spark技术内幕读书笔记:Spark核心——RDD实现详解

本书深入解析Spark内核架构,重点探讨RDD实现,揭示其内存抽象如何提高处理速度。Spark作为分布式内存计算框架,通过RDD解决Hadoop的IO效率问题,支持工作集缓存。RDD通过转换操作构建DAG,实现数据共享和容错。内容涵盖RDD的创建、转换、缓存及宽窄依赖。此外,还讨论了Spark在SQL、流计算、机器学习和图计算等领域的应用。
摘要由CSDN通过智能技术生成

————Spark技术内幕读书笔记————

深入解析内核架构设计与实现原理

本书的三个核心:

RDD实现详解
Scheduler:DAGScheduler任务切分调度与TaskScheduler任务执行调度计算过程详解
性能调优详解

Spark究竟解决了什么问题?

1.背景:
在spark出现之前,hadoop的迅速发展,hadoop分布式集群,把编程简化为自动提供 位置感知性调度,容错,以及负载均衡的一种模式,用户就可以在普通的PC机上运行超大集群运算,hadoop有一个非常大的问题:hadoop是基于流处理的,hadoop会从(物理存储)hdfs中加载数据,然后处理之后再返回给物理存储hdfs中,这样不断的读取与写入,占用了大量的IO,后来hadoop出现了非循环的数据流模型,也就是DAG,但是其中任然出现了两个重大的问题:
1.任然是不断的重复写入和读取磁盘。每次操作都要完成这两步,太浪费了。
3.交互式数据查询。比如:用户不断查询具体的一个用户的子集。
2.比如,机器学习,图计算,数据挖掘方面不适用,现在要做大量的重复操作,并且下一次的开始,要依据前面计算的结果,这样对于hadoop来说就要重新的计算,从而浪费大量的资源。

2.Spark到底解决了什么根本性的技术问题?
基于上述:
spak提出了分布式的内存抽象,RDD(弹性分布式数据集)支持工作集的应用,也具有数据流模型的特点,例如,自动容错,位置感知,可伸缩性和可扩展性,并且RDD支持多个查询时,显示的将工作集缓存到内存中,后续查询时能够重用工作集的结果。这样与hadoop相比,就极大的提高了速度。
RDD提供了共享内存模型,RDD本身只记录分区的集合,只能通过其他的RDD通过转换例如,map,join等操作来创建新的RDD,而RDD并不需要检查点操作,为什么?因为前后之间的RDD是有”血统”关系的,其核心原因是,每个RDD包含了从其他RDD计算出分区的所有内容,并且这个计算不是从头开始计算,而是仅仅指的是从上一步开始计算得到即可,这也就实现了工作集的复用。
Spark周围的SQL,机器学习,图计算都是基于此构建出来的,使得Spark成为一体化的大数据平台,不仅降低了各个开发,运维的成本,也提高了性能。

Spark的应用场景

​ DataBricks公司全面替代Hadoop中的MapReduce的分布式数据集计算框架,解决数据规模的爆炸式增长与计算场景的丰富细化,以应对MapReduce难以满足的各种计算需求而生。支持实时流计算(动态数据及时处理)、批计算(历史的离线静态数据处理)交互查询与图计算一体

Spark Sore内核:是spark sql(结构化数据处理模块) 、 spark streaming(实时数据流处理)、MLlib(机器学习算法库)、Graphx(图计算)的模块基础,以上的四大模块运用都是基于内核进行计算的。

掌握内核好处:开发更游刃有余、调优做到有的放矢。

​ 设计目标:解决大数据处理的4V难题

  • 海量Volume
  • 快速Velocity
  • 多样Variety
  • 价值Value

————第一章:Spark简介与环境————

基础概念

DAG: Directed Acyclic Graph,有向无环图

数据处理方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pub.ryan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值