Ich bin neu in Spark und unten Problem, das mich für eine Weile belästigt., wie die Ausgabe von groupByKey RDD, die Schlüssel und Liste von Werten ist RDD [K, Liste [v]]
Meine Eingabedatei ist kommagetrennte Datei und RDD erstellt, die Store als Schlüssel und Liste der Aktionen als Wert hat. Ein Schlüssel (mein Fallprodukt) kann mehr als einen Wert haben. Ich habe die RDD mit GroupByKey gruppiert. Es löst mein Problem, alle Promotionen, die darunter kommen, unter den gleichen Schlüssel zu bringen. Bis dahin alles in Ordnung. Jetzt möchte ich die Werteliste für jeden Schlüssel durchlaufen, um herauszufinden, ob mein Schlüssel (Geschäft) eine besondere Förderung hat oder nicht. Wenn meine Schlüssel, dass die Förderung dann schreiben Sie den Datensatz mit Speicher (key) und Promotion (Wert) finden
val firstRDD = sc.textFile(".....")
val secondRDD = firstRDD.map(line=>line.split(",")(0),line.split(",")(1))
val thirdRDD = secondRDD.groupByKey()
(1,(aaa,bbb,ccc,ddd))
(2,(aaa,ccc))
(3,(ddd,aaa))
basierend auf obiger Liste I für Schlüssel 1 Wert aaa wissen wollte, ist existieren oder nicht, wenn nicht aaa ob bbb existieren oder nicht .. Wie man das in Spark Scala macht.
Denken Sie darüber nach, wie eine grundlegende Scala-Operation vor der Verwendung von Karte. Wenn Sie ein Tupel haben, wie würden Sie es verarbeiten, um zu bekommen, was Sie wollen? – eliasah