广州总校区切换校区
复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图片
news

新闻资讯

什么是RDD

发布时间: 2023-04-18

RDD,弹性分布式数据集。它是一种数据的集合,它可以被分区,每一个分区分布在不同的集群中节点,从而使得RDD可以被并行处理,RDD​提供容错性,它将计算转换一个成一个有向无环图(DAG)的任务集合,方便利用血缘关系进行数据恢复,中间计算结果缓存在内存。

二 RDD与MapReduce比较

2.1 迭代计算

MapReduce在进行迭代计算的时候,都需要读写磁盘,如果涉及到多个作业流程,那么意味着多次读写HDFS,所以MapReduce在迭代式计算的时候,会进行大量的磁盘I/O操作

RDD: RDD会将计算转换成一个DAG的任务集,每次处理完后的数据缓存到内存中,并且可以作为下一次计算的输入数据,所以只需要一次读写操作,避免了大量的I/O操作

2.2 容错机

基于YARN的MapReduce的Task执行过程产生异常和和JVM的意外终止,会汇报给Application Master,任务失败一次,并不意味着任务的完全失败,它有重试机制,当达到重试次数限制还没有成功,则认为该任务运行失败

如果ApplicationMaster失败,那么Resource Manager进行失败检测然后重新启动一个新的Container,然后在这个Container中启动新的Application Master进程。对于新创建的Application Master,它能够检测到之前失败的Application Master已经运行完成的任务,因此,新的Application Master无需重头开始已经执行过的任务。

RDD: 有两种容错方式,数据检查点和记录数据的更新。

面向大规模数据分析,数据检查点操作成本很高,需要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低得多,同时还需要消耗更多的存储资源。


上一篇: Oracle数据库控制台常用命令

下一篇: Java线程的状态

<
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!