问题标签 [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 投票
1 回答
2554 浏览

scala - 使用 Graphx 在 Apache Spark 中查找派系或强连接组件

在无向图 G = (V, E) 中,一个团 C 是顶点 C ⊆ V 的子集,因此每两个不同的顶点都是相邻的。这等价于由 C 引出的 G 的子图完备的条件。在某些情况下,术语 clique 也可以直接指代子图。

所以,我将 GraphX 与 Apache-Spark 一起使用。我阅读了它的文档指南,它们提供了一种在图中找出连接组件的方法,但不是派系/强连接组件。我怎样才能使用 Scala 做到这一点?谢谢!

编辑:正如评论中所建议的,我在 R 中编写的用于执行相同任务的一段代码如下:(将此代码与 Spark 一起使用的问题是最近发布的 SparkR,通过它我可以将 R 与 Spark 一起使用支持库(例如,igraph)。因此,我开始使用 GraphX 和 Scala),现在我需要算法。

0 投票
2 回答
1101 浏览

scala - 在 spark 和 graphx 问题中的 foreach 循环中进行子图化

希望有人可以提供帮助。

我正在尝试编写一个程序,该程序需要对连接到 graphx 网络中每个节点的每个边 ID 执行一个函数。

为此,我想遍历每个节点并识别与其连接的所有边,然后我想用函数遍历每个边。在 foreach 循环中进行任何类型的子图或过滤时,我的问题似乎出现了。

因此,例如下面的代码应该输出连接到节点的每条边的 id

但是,只有添加 collect 函数以从 rdd 收集图形数据时,它才会起作用,例如

网络太大而无法收集边缘数据,因此非常感谢任何帮助。

0 投票
1 回答
941 浏览

scala - 从 Spark GraphX 中的现有顶点查找边

是否对顶点进行任何操作以使我的函数根据某些属性来查找边缘?

0 投票
1 回答
1044 浏览

scala - 如何获取 Spark Graphx 中的公共边数?

例如,如果我有两个顶点和边的图,如下所示:

在不考虑边属性的情况下,如何获得这两个图之间的公共边数?所以,在上面的例子中,公共边的数量是 2,公共边是: Edge(1L, 2L, 1) common with Edge(1L, 2L, 1) and Edge(2L, 3L, 8) common with Edge( 2L,3L,4)。

我在scala中编程。

0 投票
1 回答
161 浏览

sql - 结合 SpqrkSQL 和 GraphX

你可以在 SparkSQL 中创建存储过程并调用 GraphX API 吗?像这样的东西:

registerFunction("storedProcedureGraphX", model.storedProcedureGraphX _)

select * from someTable where storedProcedureGraphX(nodeX, nodeY) > 10

0 投票
1 回答
171 浏览

java - 并行化从 Java 中获取并在 Scala 中用于创建 RDD 的 List[String] 时出错

类型不匹配;

[错误] 发现:java.util.List[String]

[错误]需要:Seq[String]

[错误] 涉及默认参数的应用程序发生错误。

[错误] val vertexRDD: RDD[(String)] = sc.parallelize( g.vertexArray )

0 投票
1 回答
386 浏览

scala - 我可以更改 GraphX 中边的 srcId 和 dstId 的值吗?

有什么方法可以更改边缘的 srcId 和 dstId 的值,因为当我这样做时:

newGraph 的 srcId 和 dstId 与 graph 具有相同的值。请注意,if 语句中的条件 100% 有效(经过测试),并且图中确实存在 id 的新值,这意味着新 id 不会指向不存在的顶点。此外,边缘属性的更改适用于该段代码,只有 id 不会更改。

0 投票
2 回答
4618 浏览

apache-spark - 使用 HDFS 在 Spark Graphx 中存储图形

我在 Spark 的 GraphX 中构建了一个图表。这个图可能有 10 亿个节点和超过 100 亿条边,所以我不想一遍又一遍地构建这个图。

我希望能够构建一次,保存它(我认为最好的是在 HDFS 中),在其上运行一些进程,然后在几天或几周内访问它,添加一些新节点和边缘,然后运行一些更多的过程。

如何在 Apache Spark 的 GraphX 中做到这一点?

编辑:我想我已经找到了一个潜在的解决方案,但我希望有人确认这是否是最好的方法。

如果我有一个图,比如说graph,我必须将它的 vertexRDD 和它的 edgeRDD 分别存储在一个文本文件中。然后,稍后,我可以访问这些文本文件,如下所示:

我现在的一个问题是:我应该使用 saveAsTextFile() 还是 saveAsObjectFile() ?然后我应该如何在以后访问这些文件?

0 投票
1 回答
904 浏览

scala - 在 spark graphx 中将 Iterable 转换为 RDD

我在图的顶点上有 groupBy 的乘积

我想为每组顶点创建一个新图,例如

问题在于nodegrouptype Iterable[(VertexId, String)],这意味着每个节点组不再是一个 RDD。

我怎样才能克服这个问题,也就是说,我怎样才能为每个重新创建 RDD 结构nodegroup?换句话说,我可以用代码替换...<>...代码以使其正常工作吗?

我尝试使用并行化选项,但从我读到的内容来看,这应该是不可能的,也不是正确的方法。

我将不胜感激任何帮助。干杯

0 投票
1 回答
630 浏览

scala - spark graphx - 在 scala 中创建图形对象列表

我想让图中的边缘成为子图。然后我想根据一个标准加入这些子图并形成派系。基本上我想知道如何创建Graph对象列表。

如何在 Scala 中使用 Apache Spark 的 Graph X API 来实现这一点?

此代码给出类Graph是抽象的错误,因此无法实例化。有没有办法创建图表列表?

如何实例化 Graph 对象是我的主要问题?