首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆hadoop、giraph和twister

混淆hadoop、giraph和twister
EN

Stack Overflow用户
提问于 2015-05-29 11:28:55
回答 2查看 363关注 0票数 0

我正在处理大数据,我的项目由具有文本数据的图形组成。我必须在一个项目本身中计算顶点之间的相似度、跳跃概率、连接组件的数量、页面排名向量和随机游走。

我在hadoop中实现了它们,但我认为它需要更多的时间(图有2500个节点,4000个边,600个连接的组件需要25分钟),那么实现这些的最佳选择是apache hadoop还是apache giraph还是apache twister?

EN

回答 2

Stack Overflow用户

发布于 2015-05-30 13:10:09

查找连通分量、页面排名计算和随机游走都是迭代算法的例子。传统的Map-Reduce编程模型对于迭代算法(特别是图算法)并不是一个好的选择。原因是,在map-reduce的每次迭代中,所有数据都必须从映射器传输到缩减器(例如,高I/O和网络)。相比之下,Giraph非常适合这类算法。在图中,所有数据都被划分和加载一次,在每次迭代(超级步)中,只有结果通过机器传输。

票数 1
EN

Stack Overflow用户

发布于 2015-07-05 06:23:19

虽然这个问题发布已经有一段时间了,但我想用我的经验加入这个帖子。对于您对处理时间的关注,这取决于您对数据进行了多少处理?您是在单个MR作业中执行上述所有计算,还是在同一程序中执行多个MR作业?如果是,则可能需要时间。另外,你运行了多少次迭代来计算页面排名?您的集群大小是多少?

我同意Masoud的答案,选择Giraph进行图形处理,并希望添加更多内容。使用Map Reduce编程模型很难进行图形处理有几个原因。

  1. 你需要对图进行分区,因为它们不能放在一台机器上。(范围分区可将邻域保持在一起,例如,如果您有来自5所不同大学的节点/用户,则最有可能的情况是将来自一所大学的所有节点放在同一台计算机上)
  2. 您可能需要执行数据复制。
  3. Reduce跨分区分区

回到你的第二个关注点,没有任何关于Apache Twister的知识,我会选择Apache Giraph,因为它是专门为大规模分布式图算法而构建的,在这种算法中,框架可以处理出现的所有繁重的处理需求。这基本上是因为图算法的特性,比如遍历图,沿着图的边将信息传递给其他节点等。

我最近在我的一个大数据项目中使用了Giraph,这是一次很棒的学习。如果我没有回复得太晚,你应该调查一下这一点。

你可以参考这些slides来获得详细的解释。

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

https://stackoverflow.com/questions/30520624

复制
相关文章

相似问题

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