L'application de la fonction d'Allumage Dataframe Colonne
À venir à partir de R, je suis habitué à facilement faire des opérations sur les colonnes. Est-il un moyen facile de prendre cette fonction que j'ai écrit en scala
def round_tenths_place( un_rounded:Double ) : Double = {
val rounded = BigDecimal(un_rounded).setScale(1, BigDecimal.RoundingMode.HALF_UP).toDouble
return rounded
}
Et de l'appliquer à une seule colonne d'un dataframe - type de ce que j'espérais que ce serait faire:
bid_results.withColumn("bid_price_bucket", round_tenths_place(bid_results("bid_price")) )
Je n'ai pas trouvé un moyen facile et je suis mal à comprendre comment le faire. Il doit y avoir un moyen plus simple que de convertir le dataframe et RDD, puis en sélectionnant à partir de rdd de lignes pour obtenir le côté droit du terrain et la cartographie de la fonction à travers toutes les valeurs, ouais? Et aussi quelque chose de plus succincte de la création d'une table SQL et ensuite de le faire avec un sparkSQL UDF?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir un UDF comme suit:
bien que construit-dans
Tour
expression est en utilisant exactement la même logique que votre fonction et devrait être plus que suffisant, pour ne pas mentionner beaucoup plus efficace:Voir aussi: