首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphX基于内存的洗牌和火花芯的洗牌有什么区别?

GraphX基于内存的洗牌和火花芯的洗牌有什么区别?
EN

Stack Overflow用户
提问于 2019-11-28 17:10:24
回答 1查看 148关注 0票数 0

论文"GraphX:分布式数据流框架中的图形处理“(Gonzalez等人)。2014年)我了解到GraphX修改了火花洗牌:

基于内存的Shuffle:Spark的默认洗牌实现将临时数据物化到磁盘。我们修改了混洗阶段以实现内存中的映射输出,并使用超时删除这个临时数据。

(这篇论文没有对这一点作进一步的解释。)

这种变化的目的似乎是在高度迭代的图形处理算法的背景下优化改组。

这种“基于内存的洗牌”究竟是如何工作的,它与火花核心的那一次有什么不同,利弊是什么:为什么它非常适合图形用例而不适合其他星火作业?

我无法直接从GraphX/Spark的来源了解全局,我也很难找到那里的信息。

除了一个理想的答案,评论与链接的来源也是欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-28 18:22:52

I未能从GraphX/Spark源直接理解大局

因为它从来没有被纳入主流发行。

当第一个GraphX版本被开发出来时,Spark使用了基于Hash的洗牌,这是相当低效的。这是火花工作的主要瓶颈之一,并有重要的研究开发替代洗牌战略。

由于GraphX算法是迭代的和基于连接的,因此提高洗牌速度是一条明显的途径.

从那时起,可插式洗牌管理器被引入,以及新的基于排序的洗牌,这最终证明足够快使基于散列的洗牌和正在进行的提供基于通用内存的洗牌的工作都过时了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59093654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档