Anwenden der Funktion auf Spark Dataframe Column
Aus R kommend bin ich es gewohnt, Operationen an Spalten einfach auszuführen. Gibt es eine einfache Möglichkeit, diese Funktion zu nutzen, die ich in scala @ geschrieben hab
def round_tenths_place( un_rounded:Double ) : Double = {
val rounded = BigDecimal(un_rounded).setScale(1, BigDecimal.RoundingMode.HALF_UP).toDouble
return rounded
}
Und wende es auf eine einzelne Spalte eines Datenrahmens an - so wie ich es mir erhofft hatte:
bid_results.withColumn("bid_price_bucket", round_tenths_place(bid_results("bid_price")) )
Ich habe keinen einfachen Weg gefunden und habe Mühe herauszufinden, wie das geht. Es muss eine einfachere Möglichkeit geben, als den Datenrahmen in und RDD zu konvertieren und dann aus einer Reihe von Zeilen eine Auswahl zu treffen, um das richtige Feld zu erhalten und die Funktion auf alle Werte abzubilden. Und noch etwas prägnanteres: Erstellen einer SQL-Tabelle und Ausführen dieser mit einer sparkSQL-UDF?