Ich habe eine Anforderung, ein Feld in meiner RDD zu einem anderen Feld von einer anderen Karte zuordnen UserDAO.users
Ich habe versucht, die Zuordnung hier herauszufinden, kann aber nicht die username
zurückgeben noch. Ich bin dies in der aktualisierten Karte bekommen, wenn ich ein foreach drucken tun ist [email protected]
Scala - map einen Wert von einer Karte zu einer anderen Karte
Hier mein Code-Schnipsel:
rdd.map { l => {
l.map { case (k, v) => {
k match {
case "a_userid" => {
l.updated("a_username", userDAO.users.map(c => c.filter(f => f.userid == v.toInt)).map(y => y.map(e => e.username)))
}
case _ =>
}
}
}
}
}
Also im Grunde
rdd
- RDD[Map[String, String]]
UserDAO.users - Future[Seq[User]]
- wo Benutzer ist eine Fallklasse
und die aktualisierte rdd
-RDD[Map[String, String]]
-
Jede Idee, wie dieses Problem zu lösen?
Dank
Können Sie bitte die Typen Ihrer Variablen angeben? Insbesondere "rdd" und "userDAO.users". Bitte geben Sie auch die Art des erwarteten Ergebnisses an. – Aivean
@Aivean aktualisiert meine Frage, danke –
ok, nächste Frage, wie groß ist die Reihenfolge der Benutzer, zurückgegeben von 'userDAO.users'? Gibt es einen Grund, es auf Arbeiterknoten (über 'rdd.map') aufzurufen, anstatt es vorher zu materialisieren? – Aivean