Ich habe ein Schema und einen Namen von Spalten, auf die UDF angewendet werden soll. Name der Spalten sind Benutzereingaben und sie können sich in Zahlen für jede Eingabe unterscheiden. Gibt es eine Möglichkeit, UDFs auf N Spalten im Datenrahmen anzuwenden?Wenden Sie UDF dynamisch auf 1 bis N Spalten von N Spalten im Datenrahmen an
Der Versuch, dies zu erreichen. für Schema mit sagen col1, col2, col3, col4, COL5
DataFrame newDF = df.withColumn("col2", callUDF("test", (df.col("col2"))));
or
DataFrame newDF = df.withColumn("col2", callUDF("test", (df.col("col2"))))
.withColumn("col3", callUDF("test", (df.col("col3"))));
or
DataFrame newDF = df.withColumn("col2", callUDF("test", (df.col("col1"))))
.withColumn("col3", callUDF("test", (df.col("col3"))))
.withColumn("col5", callUDF("test", (df.col("col5"))))
or for N columns.
Irgendwelche Ideen?
Überprüfen Sie diese http://stackoverflow.com/questions/34037889/apply-same-function-to-all-fields-of-spark-datafemare-row –