问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Spark核心-RDD

发布网友 发布时间:2022-10-02 04:47

我来回答

1个回答

热心网友 时间:2024-03-13 20:08

RDD是Spark中的数据抽象,全称弹性分布式数据集(Resilient Distributed Datasets)。RDD可以理解为将一个大的数据集合以分布式的形式保存在集群服务器的内存中。RDD是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。

RDD是Spark的核心,也是整个Spark的架构基础。

RDD的特点:

RDD的5个主要属性:

可以通过两种方式创建RDD:

转换操作指的是在原RDD实例上进行计算,然后创建一个新的RDD实例。

RDD中的所有的转换操作都是惰性的,在执行RDD的转换操作的时候,并不会直接计算结果,而是记住这些应用到基础数据集上的转换动作,只有行动操作时,这些转换才会真正的去执行。这样设计的好处是更加有效率的运行。

行动操作指的是向驱动器程序返回结果或把结果写入外部系统的操作。

Spark在调用RDD的行动操作的时候,会触发Spark中的连锁反应。当调用的行动操作的时候,Spark会尝试创建作为调用者的RDD。如果这个RDD是从文件中创建的,那么Spark会在worker节点上读取文件至内存中。如果这个RDD是通过其他RDD的转换得到的,Spark会尝试创建其父RDD。这个过程会一直持续下去,直到Spark找到根RDD。然后Spark就会真正执行这些生成RDD所必须的转换计算。最后完成行动操作,将结果返回给驱动程序或者写入外部存储。

Spark速度非常快的原因之一,就是在不同操作中在内存中持久化一个数据集。当持久化一个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此数据集进行的其他动作中重用。这使得后续的动作变得更加迅速。缓存是Spark构建迭代算法和快速交互式查询的关键。所以我们在开发过程中,对经常使用的RDD要进行缓存操作,以提升程序运行效率。

RDD缓存的方法

RDD类提供了两种缓存方法:

cache方法其实是将RDD存储在集群中Worker的内存中。

persist是一个通用的cache方法。它可以将RDD存储在内存中或硬盘上或者二者皆有。

缓存的容错

缓存是有可能丢失(如机器宕机),或者存储于内存的数据由于内存不足而被删除。RDD的缓存的容错机制保证了即使缓存丢失也能保证计算的正确执行。通过基于RDD的一系列的转换,丢失的数据会被重新计算。因为RDD的各个Partition是相对独立的,所以在重新计算的时候只需要计算丢失部分Partition即可,不需要重新计算全部的Partition。因此,在一个缓存RDD的节点出现故障的时候,Spark会在另外的节点上自动重新创建出现故障的节点中存储的分区。

RDD的缓存能够在第一次计算完成后,将计算结果保存到内存、本地文件系统或者Tachyon中。通过缓存,Spark避免了RDD上的重复计算,能够极大地提升计算速度。但是,如果缓存丢失了,则需要重新计算。如果计算特别复杂或者计算特别耗时,那么缓存丢失对于整个Job的影响是不容忽视的。为了避免缓存丢失重新计算带来的开销,所以Spark引入了检查点(checkpoint)机制。

缓存是在计算结束后,直接将计算结果通过用户定义的存储级别写入不同的介质。而检查点不同,它是在计算完成后,重新建立一个Job来计算。所以为了避免重复计算,推荐先将RDD缓存,这样在进行检查点操作时就可以快速完成。

Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生动RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG。

RDD之间的依赖关系包括:

Spark中的依赖关系主要体现为两种形式:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
微信限额20万怎样提到30万 微信怎么提升限额 微信限制额度二十万了怎么办 爱奇艺电视版会员电影没声音 爱奇艺怎么没声音了 爱奇艺万能播放器怎么没声音-爱奇艺播放器没声音修复方法 爱奇艺播放没有声音了怎么回事 主持人刘炽朗诵《采桑子·重阳》 卧室空间大了摆放什么风水好 卧室空间大了摆放什么 中国平安金融集团上海分公司这公司是一家怎样的公司?是骗子吗? 梦见人变成蛇是什么意思 预兆? 寻找高速服务区摊位 高速公路服务区超市生意如何? 急!高速公路服务区的铺位怎么组?该找谁? 出租车的英文怎么写 高组成语有哪些 高字,能组成多少个成语?那些成语 门头沟沿河城自驾游,道路好走吗?我是新手,请大侠指教,谢谢 梦见好多小鱼是什么预兆 女性 美国想象力英语倒闭了吗 为什么美国总有一些极具想象力的创新?中国人如何才能具备这种能力?_百度... 美国想象力英语有什么优势 美国想象力英语是美国品牌吗 乘坐东航航班可以享受哪些服务? 上海市物流企业税收政策物流辅助服务包括哪些闪容 冼飞机是什么服务? 飞机客舱深度清洁属于什么行业 BB霜有防晒的功效吗? bb霜可不可以当防晒霜使用? BB霜可以当防晒霜用吗? spark中关于partition的简单理解 2RDD编程 努比亚z9mini开不了机又连不上USB怎么办? 桂棹兰桨歌词 歌曲桂棹兰桨歌词 努比亚Z9mini手机才买回来不到二十天就开不了机 努比亚z9 mini刷机后无法开机怎么办 努比亚z9 mini系统升级后开不了机,怎么破 努比亚nubia Z9 mini失败变砖开不了机了怎么办 风精油杀菌吗 ...怎么消毒,没有白酒酒精之类的,有风油精可以吗 风油精能给浓孢消毒吗 表示情谊深厚的诗句 歌颂情谊的有关诗句 歌颂情谊的有关诗有哪些 努比亚z9mini开不了了是什么原因? 急!努比亚z9mini没电关机后开不了机 在吗,我的努比亚z9mini更新系统开不了机,能帮我一下吗 努比亚Z9MINI更新后开不了机 努比亚z9mini开机一直停在开机界面怎么办 华为手机为什么接消息总是延迟? 手机消息延迟怎么回事?