簡體   English   中英

GraphX-如何將Array [(VertexId,Array(VertexId)]]轉換為Set(VertexId)

[英]GraphX - how do you convert an Array[(VertexId, Array(VertexId)] to Set(VertexId)

有了VertexID,我就能將所有直接連接的頂點都連接到那個頂點? (即,只有一條邊),使用以下代碼進行collectNeighborsId和查找:

val ID = 20
val res = graph.collectNeighborIds(EdgeDirection.Out).lookup(ID)

結果類為ArrayBuffer(Array(Long),如下所示:

ArrayBuffer(Array(10006, 10009, 10015, 10017, 10025, 10028, 10030, 10037, 10041, 10043, 10046, 10049, 10055, 10056, 10057, 10058, 10059, 10060, 10061, 10068, 10070, 10081, 10082, 10087, 10096, 10101, 10105, 10108, 10111, 10113, 10115, 10119, 10125, 10127, 10129, 10132, 10136, 10137, 10141, 10150, 10152, 10153, 10156, 10158, 10163, 10166, 10167, 10171, 10172, 10173, 10175, 10183, 10186, 10187, 10192, 10193, 10197, 10198, 10201, 10209, 10212, 10213, 10214, 10223, 10226, 10228, 1367, 1654, 1670, 2034, 2146, 2481, 58776, 58778, 58788, 58789))

我需要將其轉換為一個Set [Long]。.我試圖通過使用toSet ..將其轉換為,但是它仍然會生成Array(Set [Long])

使用flatten

scala> val a: Array[Array[Long]] = Array(Array(1, 2), Array(3, 4))
a: Array[Array[Long]] = Array(Array(1, 2), Array(3, 4))

scala> a.flatten.toSet
res1: scala.collection.immutable.Set[Long] = Set(1, 2, 3, 4)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM