首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

深入理解Spark 2.1 Core (一):RDD的原理与源码分析

第一个指出非循环数据流存在不足的并非是我们,例如,Google的Pregel[21],是一种专门用于迭代式图算法的编程模型;Twister[13]和HaLoop[8],是两种典型的迭代式MapReduce...此外,我们还在Spark之上实现了Pregel和HaLoop编程模型(包括其位置优化策略),以库的形式实现(分别使用了100和200行Scala代码)。...本文首先在第2部分介绍了RDD的概念,然后第3部分描述Spark API,第4部分解释如何使用RDD表示几种并行应用(包括Pregel和HaLoop),第5部分讨论Spark中RDD的表示方法以及任务调度器...在Pregel和HaLoop中,多次迭代之间采用一致性的分区置换策略进行优化,我们同样也允许用户指定这种优化。 (注: ?...4.3 使用RDD实现Pregel 略 4.4 使用RDD实现HaLoop 略 4.5 不适合使用RDD的应用 在2.1节我们讨论过,RDD适用于具有批量转换需求的应用,并且相同的操作作用于数据集的每一个元素上

73970

Apache Spark 2.2.0 中文文档 - Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN

HaLoop 也提供了迭代式 MapReduce 接口.然而, 这些框架仅仅支持一些特殊的计算模式(比如循环一系列的 MapReduce 步骤), 并且它们是隐式的为些计算模式提供数据共享....事实上, 我们分析表明 RDDs 不仅可以高效的表达出目前括 MapReduce, DryadLINQ, SQL, Pregel 以及 HaLoop 等系统提出的分布式编程模型, 而且还能表达它们表达不了的新的应用的计算模型...更重要的是, 为了彰显 RDDs 的普遍性, 我们基于spark 用相对较小的程序(每个包只有 200 行代码)实现了 Pregel 和 HaLoop 的编程模型, 包括它们使用的数据分布优化....我们在 spark 上用了 200 行代码的包实现了 Pregel , 读者可以参考第 33 个文献来了解更多的细节 迭代 MapReduce: 最近提出的几个系统, 包括 HaLoop 和 Twister...RDDs 可以很简单的表达以上两个优化, 而且我们基于 spark 花了 200 行代码实现了 HaLoop.

1K90

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券