【问题标题】:Array of Graphs in Spark GraphxSpark Graphx 中的图形数组
【发布时间】:2018-05-05 21:07:30
【问题描述】:

我有多个相同类型的图表。我想将它们存储在一个数组中。但是当我在数组中附加一个图形时,我得到了一个错误,即图形中不支持“++”操作。

当我使用这个方法时:

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

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

【问题讨论】:

    标签: scala apache-spark spark-graphx


    【解决方案1】:

    默认的 scala Array不可变的。这意味着:+ 方法正在返回一个具有新值的新数组,而graphsArray 保持与创建时相同(空)。由于您没有将 :+ 的结果分配给任何东西,因此您将丢失结果。

    如果你想使用可变数组,你可以使用ArrayBuffer。如果您想保留默认的 scala 不可变行为,可以使用 fold 添加所有图表。

    val emptyArray = Array.empty[Graph[Object, Object]]
    val myGraphs = ...
    val graphsArray = myGraphs.fold(emptyArray) { case (arr, elm) => arr :+ elm }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2016-05-20
      相关资源
      最近更新 更多