当前位置: 首页 > 知识库问答 >
问题:

Spark图中的图数组

朱锐
2023-03-14

我有多个相同类型的图。我想把它们存储在一个数组中。但是当我在数组中追加一个图时,我得到的错误是“++”操作在图中没有被支持。

当我使用此方法时:

var graphsArray = Array.empty[Graph[Object,Object]]
graphsArray :+ Graph(myVertices, myEdges)

我得到了空数组,没有添加任何值。

共有1个答案

郭易安
2023-03-14

默认的scala数组是不可变的。这意味着:+方法返回一个带有新值的新数组,而GraphSarRay与创建时相同(空)。由于没有将:+的结果分配给任何内容,因此将丢失结果。

如果要使用可变数组,可以使用ArrayBuffer。如果希望保持默认的scala不可变行为,可以使用fold添加所有的图。

val emptyArray = Array.empty[Graph[Object, Object]]
val myGraphs = ...
val graphsArray = myGraphs.fold(emptyArray) { case (arr, elm) => arr :+ elm }
 类似资料:
  • 我使用的是Neo4J/Cypher,我的数据大约是200GB,所以我想到了可伸缩的解决方案“Spark”。 使用spark制作neo4j图形有两种解决方案: 1)Apache Spark密码(CAPS) > 拾取数据 丢弃数据帧和 行程数据帧

  • 我在网上看到了Dataframes教程https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html这是用Python编写的。我正试图把它翻译成Scala。 它们有以下代码: 因此,我首先将数据从一个读入一个数据帧,然后我得到: 但我不知道: > 如何将

  • 我有一个java POJO 我有一个火花 我的数据集有一个值列表,但有重复的Ids。如何组合重复的帐户Ids并使用Spark group pBy将Key值对聚合到一个Map中。谢谢你的帮助。 所以我有: 我需要这个:

  • 我一直在遵循教程,并读取了我自己的数据,这些数据被组合成[array[String],int],因此,例如,我的顶点是: 例如(3999,Array(17,Low,9)) 我的边缘是: 因此,您最终会得到一个匹配或不匹配数量的计数列表。 我遇到的问题是使用mapReduceTriplets应用任何函数,我对scala很陌生,所以这可能非常明显,但在graphx教程中有一个示例,它使用了一个格式为g

  • 函数功能:在图片指定区域寻找另一张图像是否匹配 函数方法 x,y = image.findImage(img1,img2,deviation) 参数 类型 必填 说明 img1 userdata 是 需要操作的图片对象 img2 userdata 是 将要寻找的图片的图片对象 deviation number 否 允许偏差范围,0 代表不允许存在偏差即完全匹配, 数字越大越容易找到,但准确度也会随

  • 希望有人能帮忙。 我试图编写一个程序,它需要在Graphx上对连接到网络中每个节点的每个边缘ID执行一个函数。 但是,只有在添加collect函数从rdd中收集图形数据时,它才会起作用。 网络太大,无法收集边缘数据,因此任何帮助都将非常感谢。