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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage