Я группируюсь по первому элементу, что приводит к RDD[(String, Iterable[(String, String, Option[Node])])]
.
Я бы хотел отсортировать по Option[Node]
, если он имеет None
, None
должен быть отсортирован по низу в каждой группе и выбрать первую строку для каждой группы.
I have
[(x,compactBuffer((x,y,z),(x,y,None),(x,y,p))],
[(a,compactBuffer((a,b,c),(a,b,d))],
[(s,compactBuffer((s,t,None),(s,t,None),(s,t,u))],
[(l,compactBuffer((l,m,None)]
Ожидаемый результат
[(x,compactBuffer((x,y,z))],
[(a,compactBuffer((a,b,c))],
[(s,compactBuffer((s,t,u))], // select (s,t,u) since the first two rows
have None
[(l,compactBuffer((l,m,None)]