0
私はグラフを持っており、最大次数を計算したいと思います。特に、最大次数を持つ頂点はすべてのプロパティを知りたい。 これは、コードのスニペットです:Scala - Spark:特定のノードから頂点のプロパティを返します。
def max(a: (VertexId, Int), b: (VertexId, Int)): (VertexId, Int) = {
if (a._2 > b._2) a else b
}
val maxDegrees : (VertexId, Int) = graphX.degrees.reduce(max)
max: (a: (org.apache.spark.graphx.VertexId, Int), b: (org.apache.spark.graphx.VertexId, Int))(org.apache.spark.graphx.VertexId, Int)
maxDegrees: (org.apache.spark.graphx.VertexId, Int) = (2063726182,56387)
val startVertexRDD = graphX.vertices.filter{case (hash_id, (id, state)) => hash_id == maxDegrees._1}
startVertexRDD.collect()
しかし、それは、この例外を返しました:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 145.0 failed 1 times, most recent failure: Lost task 0.0 in stage 145.0 (TID 5380, localhost, executor driver): scala.MatchError: (1009147972,null) (of class scala.Tuple2)
それを解決することができますか?
:ヴァルvertexDegreeは: VertexRDD [INT] = graphX.degrees ヴァルvertexNoDegree = vertexDegree.filter {場合(ID、度)=>度== NULL} vertexNoDegree.isEmpty() res6:Boolean = true 孤立ノードはありません...私は何をすべきかわかりません – alukard990