gpt4 book ai didi

java - Spark GraphX 的 DFS 性能与简单 Java DFS 实现的比较

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:13 26 4
gpt4 key购买 nike

考虑到一个具有 14,000 个顶点和 14,000 个边的图,我想知道为什么 GraphX 比图的 java 实现花费更多的时间来获取从顶点到叶子的所有路径?

java 实现:几秒钟

Graphx 实现:几分钟

spark GraphX真的适合这种处理吗?

我的系统:i5-7500@3.40GHz,8GB内存

预凝胶的算法:

val sourceId: VertexId = 42 // The ultimate source
// Initialize the graph such that all vertices except the root have canReach = false.
val initialGraph: Graph[Boolean, Double] = graph.mapVertices((id, _) => id == sourceId)
val sssp = initialGraph.pregel(false)(
(id, canReach, newCanReach) => canReach || newCanReach, // Vertex Program
triplet => { // Send Message
if (triplet.srcAttr && !triplet.dstAttr) {
Iterator((triplet.dstId, true))
} else {
Iterator.empty
}
},
(a, b) => a || b // Merge Message

最佳答案

我在 Graphx 上实现一些算法时发生过这种情况,我相信当你的大图分布在多台机器上时,GraphX 非常适合分布式环境。但是现在当你说你使用一个节点时,你检查过使用的worker数量吗?执行人数量?每个执行器使用的内存量?这些配置参数肯定在提高或降低 GraphX 应用程序的性能方面发挥着重要作用。

关于java - Spark GraphX 的 DFS 性能与简单 Java DFS 实现的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53710483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com