RDD(弹性分布式数据集)的分析

RDD:

Resilient Distributed Dataset(弹性分布式数据集)

弹性:数据集的可恢复型

原因:在分布式环境下,运算节点很容易出问题,会造成数据的丢失,rdd可以在数据丢失的背景下恢复数据。

数据恢复的技术:1.基本备份

2.基于日志(hadoop namenode中的namespace在磁盘上对应的是fsimage+editslog,当namenode重启的时候,从磁盘上读取fsimage和最新的editlog

Mysql数据库:基于binLog恢复。

 

Rdd:基于血缘(linkage)的恢复机制。记录了rdd转换的过程,在rdd丢失时,可以通过记录的过程(血缘)再次生成。

Rdd1==map====rdd2===reduce==rdd3

分布式:rdd可以分布在多个机器上,对外是透明的。

数据集:rdd 本质上就是一个list。对应于scala中集合的操作同样适用于rdd。默认的:当使用sparkconext读取文本文件的时候,一行文本作为rdd中的一个元素。

血缘恢复机制:保存的是计算过程,节省空间;但是恢复的时候需要执行计算过程来恢复数据,时间变长。总之就是以时间换空间

 

posted @ 2018-11-14 17:41  IT晓白  阅读(373)  评论(0编辑  收藏  举报