2016-07-26 1 views
0

Je suis en train d'effectuer les actions suivantes scala mais ne savez pas comment procéder, dans les exemples précédents, je l'ai vu comment faire une liste de la liste comme:Aplatir une liste de liste avec noeud valeurs

Liste (Liste (1,2), Liste (3,4)) -> Liste (1,2,3,4)

Mon problème est que j'ai besoin d'exploser ainsi les résultats afin que je puisse l'aplatir pour être stocké sur une table de ruche.

Liste un (1, Liste b (2,3))

devrait ressembler à:

1, 2

1, 3

J'espère explique moi.

Merci d'avance

+0

Comment est-ce lié à Spark en soi ? Voulez-vous effectuer cela dans une opération de carte? –

Répondre

0

Je pense que vous voulez un pour-compréhension:

val c = for (i <-a; j<- b) yield (i,j) 

Par exemple

val a = List(1, 2, 3) val b = List(4, 5, 6) val c = for (i <- a; j <- b) yield (i, j) println(c)

imprimera List((1,4), (1,5), (1,6), (2,4), (2,5), (2,6), (3,4), (3,5), (3,6))