Ich verstehe nicht, was mit dem Code unten falsch ist. Das funktioniert gut und hashmap typeMap
wird aktualisiert, wenn mein Eingabedatenrahmen nicht partitioniert ist. Wenn der folgende Code jedoch in einer partitionierten Umgebung ausgeführt wird, ist typeMap
immer leer und wird nicht aktualisiert. Was ist falsch an diesem Code? Danke für deine Hilfe.Scala hashmap wird nicht angehängt
var typeMap = new mutable.HashMap[String, (String, Array[String])]
case class Combiner(,,,,,,, mapTypes: mutable.HashMap[String, (String, Array[String])]) {
def execute() {
<...>
val combinersResult = dfInput.rdd.aggregate(combiners.toArray) (incrementCount, mergeCount)
}
def updateTypes(arr: Array[String], tempMapTypes:mutable.HashMap[String, (String, Array[String])]): Unit = {
<...>
typeMap ++= tempMapTypes
}
def incrementCount(combiners: Array[Combiner], row: Row): Array[Combiner] = {
for (i <- 0 until row.length) {
val array = getMyType(row(i), tempMapTypes)
combiners(i). updateTypes(array, tempMapTypes)
}
combiners
}
Hallo, gibt es irgendeinen Hinweis? – Garipaso