RDD:基于内存集群计算容错抽象 _ 简单之美.pdfVIP

RDD:基于内存集群计算容错抽象 _ 简单之美.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RDD :基于内存的集群计算容错抽象 该论文来 自Berkeley 实验 室 ,英文标题 为 :Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing 。下面的翻译 ,我是基于科学网翻译基础上进行优化 、修改 、补充 ,这篇译文 翻译得很不错 。在此基础上 ,我增加 了来 自英文原文的图和表格数据 ,以及译文 中缺少的未翻译的部分 。如果 翻译措辞或逻辑有误 ,欢迎批评指正。 摘要 本文提出了分布式内存抽象的概念——弹性分布式数据集 (RDD ,Resilient Distributed Datasets) ,它具备 像MapReduce等数据流模型的容错特性 ,并且允许开发人员在大型集群上执行基于内存的计算。现有的数 据流系统对两种应用的处理并不高效 :一是迭代式算法 ,这在 图应用和机器学习领域很常见 ;二是交互式数 据挖掘工具 。这两种情况下 ,将数据保存在 内存 中能够极大地提高性能。为了有效地实现容错 ,RDD提供 了 一种高度受限的共享内存 ,即RDD是只读的 ,并且只能通过其他RDD上的批量操作来创建 。尽管如此 ,RDD 仍然足以表示很多类型的计算 ,包括MapReduce和专用的迭代编程模型 (如Pregel)等。我们实现的RDD 在迭代计算方面比Hadoop快20多倍 ,同时还可以在5-7秒 内交互式地查询1TB数据集。 1.引言 无论是工业界还是学术界 ,都 已经广泛使用高级集群编程模型来处理 日益增长的数据 ,如MapReduce和 Dryad 。这些系统将分布式编程简化为 自动提供位置感知性调度、容错 以及负载均衡 ,使得大量用户能够在 商用集群上分析超大数据集。 大多数现有的集群计算系统都是基于非循环的数据流模型。从稳定的物理存储 (如分布式文件系统)中加载 记录 ,记录被传入由一组确定性操作构成的DA G ,然后写回稳定存储 。DA G数据流图能够在运行时 自动实现 任务调度和故障恢复。 尽管非循环数据流是一种很强大的抽象方法 ,但仍然有些应用无法使用这种方式描述 。我们就是针对这些不 太适合非循环模型的应用 ,它们的特点是在多个并行操作之间重用工作数据集。这类应用包括 : (1)机器学 习和 图应用中常用的迭代算法 (每一步对数据执行相似的函数) ; (2)交互式数据挖掘工具 (用户反复查询 一个数据子集)。基于数据流的框架并不 明确支持工作集 ,所以需要将数据输 出到磁盘 ,然后在每次查询时 重新加载 ,这带来较大的开销 。 我们提出了一种分布式的内存抽象 ,称为弹性分布式数据集 (RDD ,Resilient Distributed Datasets)。它支 持基于工作集的应用 ,同时具有数据流模型的特点 :自动容错 、位置感知调度和可伸缩性 。RDD允许用户在 执行多个查询时显式地将工作集缓存在 内存 中,后续的查询能够重用工作集 ,这极大地提升了查询速度。 RDD提供 了一种高度受限的共享内存模型 ,即RDD是只读的记录分 区的集合 ,只能通过在其他RDD执行确定 的转换操作 (如map、join和group by )而创建 ,然而这些限制使得实现容错的开销很低 。与分布式共享内 存系统需要付 出高昂代价的检查点和 回滚机制不 同 ,RDD通过Lineage来重建丢失的分 区 :一个RDD中包含 了如何从其他RDD衍生所必需的相 关信息 ,从而不需要检查点操作就可以重构丢失的数据分 区。尽管RDD不 是一个通用的共享 内存抽象 ,但却具备 了良好 的描述能力、可伸缩性和可靠性 ,但却能够广泛适用于数据并 行类应用。 第一个指出非循环数据流存在不足的并非是我们 ,例如 ,Google的Pregel[2 1] ,是一种专门用于迭代式图算 法的编程模型 ;Twister [13]和HaLoop[8] ,是两种典型的迭代式MapReduce模型。但是 ,对于一些特定类 型的应用 ,这些系统提供 了一个受限的通信模型。相 比之下 ,RDD则为基于工作集的应用提供 了更为通用的 抽象 ,用户可以对 中间结果进行显式的命名和物化 ,控制其分 区 ,还能执行用户选择的特定操作 (而不是在 运行时去循环执行一系列MapReduce步骤)。RDD可以用

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档