как получить первое значение ключа после фильтрации СДР в Spark? - PullRequest
0 голосов
/ 01 марта 2020

Я новичок в искре. я использовал GraphLoader для создания своего графа и использую код mapVertices и ниже для изменения свойства узлов:

case class nodes_property(label:Int,get_label:Boolean)

и после некоторых преобразований каждый узел в RDD имеет следующую структуру:

(1,nodes_property(12,true))
(2,nodes_property(9,false))
(3,nodes_property(12,true))
...

Я использую graph.vertices.filter(x=>x._1==1) для фильтрации значений для узла с ID = 1. Как я могу просто выбрать первый элемент в значениях? я имею в виду, как я могу выбрать 12 (это первое значение для узла 1)?

1 Ответ

0 голосов
/ 01 марта 2020

вы должны использовать take (1), чтобы взять значения, а затем, чтобы извлечь только 12, вы должны сделать следующее:

val x=graph.vertices.filter(x=>x._1==1).values.take(1)
println(x(0).label)

это даст только 12.

...