Ich versuche, einen Datenrahmen über eine Funktion zu transformieren, die ein Array als Parameter verwendet. Mein Code sieht ungefähr so aus:
%Vor%Aber beleuchtet Arrays und diese Skriptfehler nicht. Ich habe versucht, eine neue teilweise angewandte Funktion und dann das udf zu definieren:
%Vor%Dies funktioniert auch nicht, da ich eine nullPointer-Ausnahme erhalte und es scheint, dass myArray nicht erkannt wird. Irgendwelche Ideen darüber, wie ich ein Array als Parameter an eine Funktion mit einem Datenrahmen übergebe?
In einer separaten Notiz ist jede Erklärung, warum etwas Einfaches wie die Verwendung einer Funktion auf einem Datenrahmen getan wird, so kompliziert (definieren Sie Funktion, definieren Sie sie als UDF usw.)?
Wahrscheinlich nicht die schönste Lösung, aber Sie können so etwas ausprobieren:
%Vor% Sie könnten auch array
von Literalen versuchen:
Bei einer Seitennotiz mit Map
anstelle von Array
ist wahrscheinlich eine bessere Idee:
Seit Spark 1.5.0 können Sie auch eine array
Funktion verwenden:
Siehe auch Spark UDF mit varargs
Tags und Links scala user-defined-functions apache-spark dataframe apache-spark-sql