2016-04-16 4 views
0

Ich habe folgende RDD in meinem Java-Code.Apache Spark Convert Sammlung von RDD zu einzelnen RDD JAVA

(1, List(1596, 1617, 1929, 2399, 2674)) 
(2, List(1702, 1785, 1933, 2054, 2583, 2913)) 
(3, List(1982, 2002, 2048, 2341, 2666)) 

Was ich versuche, ist eine weitere RDD erstellen. Der Inhalt soll wie folgt aussehen. (Nicht unbedingt in derselben Reihenfolge)

1596 
1617 
1929 
2399 
2674 
1702 
1785 
1933 
2054 
2583 
2913 
1982 
2002 
2048 
2341 
2666 

Ich bin nicht sicher, wie man RDD verwandeln Sie (JavaRDD<ArrayList<String>>) mit Sammlung von Objekten an einzelnen RDD (JavaRDD<String>) mit allen Objekten in ihm. Ich würde es sehr schätzen, wenn mich jemand auf irgendeine JAVA-Ressource hinweisen könnte. Dies wird in scala tun

+1

folgt. 'val rdd1 = sc.parallelize (Liste ((1, Liste (1596, 1617, 1929, 2399, 2674)), (2, Liste (1702, 1785, 1933, 2054, 2583, 2913)), (3, List (1982, 2002, 2048, 2341, 2666)))) val rdd2 = rdd1.flatMap (x => x._2) ' – WoodChopper

Antwort

0

Sie können das gleiche in scala tun, wie

val data = List((1, List(1596, 1617, 1929, 2399, 2674)), 
    (2, List(1702, 1785, 1933, 2054, 2583, 2913)), 
    (3, List(1982, 2002, 2048, 2341, 2666))) 

val rdd_data = sc.parallelize(data) 
val rdd_flattened = rdd_data.flatMap((index, value) => value)