Ich habe eine bestellte RDD des Typs ((id, ts), some value)
. Dies wurde nur mit einem benutzerdefinierten Partitionierer im Feld id
partitioniert.Running groupByKey/reduceBuKey für partitionierte Daten, aber mit anderen Schlüssel
math.abs(id.hashCode % numPartitions)
Jetzt Wenn ich laufen die folgenden zwei Funktionen auf dieser partitionierten RDD, wird es Schlurfen und Neuaufteilung des Datensatzes beinhalten.
val partitionedRDD: ((id:Long, ts:Long), val:String) = <Some Function>
val flatRDD = orderedRDD.map(_ => (_._1.id, (_._1.ts, _._2)))
Was ich will, ist wissen, ob flatRDD.groupByKey()
und flatRDD.reduceByKey()
die gleiche Aufteilung wie die partitionedRDD oder Funken haben den Datensatz wieder und schaffen neue Partitionen mischen?
Danke, Devi