Исходя из R, я привык легко выполнять операции над столбцами. Есть ли простой способ взять эту функцию, что я написал в СкалеПрименение функции к Spark Dataframe Column
def round_tenths_place(un_rounded:Double) : Double = {
val rounded = BigDecimal(un_rounded).setScale(1, BigDecimal.RoundingMode.HALF_UP).toDouble
return rounded
}
и применить его к одной колонке с dataframe - вроде того, что я надеялся, что это будет делать:
bid_results.withColumn("bid_price_bucket", round_tenths_place(bid_results("bid_price")))
Я не нашел легкого пути и изо всех сил пытаюсь понять, как это сделать. Там должен быть более простой способ, чем преобразовать dataframe в и RDD, а затем выбрать из rdd строк, чтобы получить правильное поле и сопоставить функцию по всем значениям, да? А также что-то более сжатое создание таблицы SQL, а затем выполнение этого с помощью sparkSQL UDF?
http://stackoverflow.com/questions/29109916/updating-a-dataframe-column-in-spark –