问题标签 [spark-graphx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3668 浏览

scala - 如何通过 apache spark graphX 获取 SSSP 实际路径?

我在 spark 站点上运行了单源最短路径 (SSSP) 示例,如下所示:

graphx-SSSP 预凝胶示例

代码(scala):

sourceId: 0
获取结果:
(0,0.0)
(4,2.0)
(2,1.0)
(3,1.0)
(1,2.0)

但我需要如下实际路径:
=>
0 -> 0,0
0 -> 2,1
0 -> 3,1
0 -> 2 -> 4,2
0 -> 3 -> 1,2

如何通过 spark graphX 获取 SSSP 实际路径?
有人给我一些提示吗?
谢谢你的帮助!

0 投票
1 回答
356 浏览

apache-spark - 在 GraphX 中 - 有没有办法在 EdgeTriplet 上进行模式匹配?

它扩展了 Edge,这是一个案例类,但 EdgeTriplet 不是,它没有实现unapply. 我想知道是否有办法进行模式匹配,例如

0 投票
2 回答
658 浏览

apache-spark - 以 Hbase 表作为输入的 Spark Graphx

我有存储在 Hbase 中的键/值我可以使用 GRaphX 将这些键值对转换为图形,例如所有键,列限定符作为 - > 节点,而所有值 - > 作为连接节点的边的属性?

任何指针都会有很大帮助

0 投票
1 回答
1272 浏览

scala - reduceByKey 处理每个 flatMap 输出,而不在 GraphX 中的键上聚合值

我在运行 GraphX 时遇到问题

我期望 reduceByKey 做的是按键 (K) 对 flatMap 的整个输出进行分组,并使用提供的函数处理每个键 (K) 的值列表 (Vs)。

正在发生的是 flatMap 的每个输出(使用函数 mapMsgGen),它是 K->V 对(通常不是相同的 K)的列表,使用 reduceByKey 函数 mapMsgMerg 并在整个 flatMap 完成之前立即处理。

需要澄清一下,我不明白出了什么问题,还是我理解 flatMap 和 reduceByKey 错了?

问候,

马赫

0 投票
1 回答
3035 浏览

mapreduce - Spark - GraphX:mapReduceTriplets vs aggregateMessages

我正在通过教程 http://ampcamp.berkeley.edu/big-data-mini-course/graph-analytics-with-graphx.html

在某些时候,我们使用 mapReduceTriplets 操作。这将返回预期结果

但是 IntelliJ 指出 mapReduceTriplets 已被弃用(从 1.2.0 开始),应该由 aggregateMessages 替换

所以我运行完全相同的代码,但没有任何输出。这是预期的结果还是我应该因为聚合消息的变化而改变一些东西?

0 投票
1 回答
317 浏览

apache-spark - 为什么使用 Graph API 不显示顶点?

我正在使用以下代码并注意,当我尝试查看顶点时,它不会在控制台上显示任何内容,但边缘会成功显示。

这些也将顶点数表示为 0。

实际上我期望 graph.numVertices 打印为 6 但它是 0 并且 graph.vertices.collect().foreach(println) 我期望它打印所有顶点但它不打印任何顶点。

0 投票
1 回答
114 浏览

apache-spark - 什么是 CSR 索引作为连接优化技术?

Spark Graphx 论文在以下上下文中提到了 CSR 索引:

GraphX 将在图形处理系统的上下文中开发的系统优化重铸为连接优化(例如,CSR 索引、连接消除和连接站点规范)和物化视图维护(例如,顶点镜像和增量更新)

但是,当我搜索

结果与

现在我确信我们都赞成;)但是,我会对更多与技术相关的首字母缩写词和语义的信息感兴趣。

0 投票
1 回答
596 浏览

scala - GraphX 内部是如何遍历 Graph 的?

我想知道GraphX对Graph的内部遍历。RDDS是基于顶点和边的遍历还是顺序遍历?例如,给定一个图的顶点,我只想获取它的邻居而不是所有顶点的邻居?在这种情况下 GraphX 将如何遍历图形。

感谢期待。

0 投票
2 回答
468 浏览

data-mining - 大图上的简单路径查询

我有一个关于大图数据的问题。假设我们有一个包含近 1 亿条边和大约 500 万个节点的大型图,在这种情况下,您所知道的最好的图挖掘平台可以提供所有长度 <=k 的简单路径(对于 k=3,4 ,5) 在任意两个给定节点之间。主要关注的是获得这些路径的速度。另一件事是图是有向的,但我们希望程序在计算路径时忽略方向,但在发现这些路径后仍返回实际有向边。

例如:

a -> c <- d -> b 是节点“a”和“b”之间长度为 3 的有效路径。

提前致谢。

0 投票
1 回答
333 浏览

apache-pig - 在 Pig 中使用 Piggybank HashFNV 将 GUID 类型 String 转换为 VertexIDs 类型 Long

我有 2 个文本文件存储在 Hadoop 中,我想用它们在 Apache Spark GraphX 中创建一个图形:

  1. 具有顶点信息的文本文件,包括标识每个顶点的 GUID 类型字符串。
  2. 带有边缘信息的文本文件,包括两个 GUID 类型的字符串,用于链接源顶点和目标顶点 GUID。

我将这些表文件导入到 HCatalog 表中,这样我就可以使用 HiveContext 从 Spark 访问这些文件。

我的理解是:

为了继续我的项目,我想根据 GUID 信息,用 Long 类型的附加列扩展我的 2 个表,以便在 GraphX 中实现 VertexID。Pig 不提供诸如 Java 中的 UUID.getMostSignificantBits() 之类的函数来将 UUID/GUID 转换为 Long 类型。

Piggybank UDF 在“评估”部分包含函数 HashFNV 的实现。虽然我不是 Java 开发人员,但我从 Java 源代码中了解到,该函数转换 String 类型的输入并返回 Long 类型的哈希。它还将输入表扩展为具有 DataType.LONG 列的新表。

问题:

  1. 将 Pig 与执行 HashFNV 函数的 Piggybank jar 一起使用是一种实用且实用的方法,可以从具有 GUID 信息的输入表/文件生成 Long 类型的 VertexIds?
  2. 注册 Piggybank jar 后,如何在 Pig 中调用和使用 HasFNV 函数?你能提供示例代码吗?

假设:

  • 唯一的 GUID 将使用 HashFNV 生成 Long 类型的唯一哈希。
  • 我确实理解代表 128 位的 GUID 不适合 64 位的 Long。但是,输入文件中的 GUID 数量不会超过 64 位空间。