У меня проблемы с использованием функций ft_ .. из пакета sparklyr R.ft_bucketizer работает, а ft_normalizer или ft_min_max_scaler - нет.Вот пример:
library(sparklyr)
library(dplyr)
library(nycflights13)
sc <- spark_connect(master = "local", version = "2.1.0")
x = flights %>% select(dep_delay)
x_tbl <- sdf_copy_to(sc, x)
# works fine
ft_binarizer(x=x_tbl, input.col = "dep_delay", output.col = "delayed", threshold = 0)
# error
ft_normalizer(x= x_tbl, input.col = "dep_delay", output.col = "delayed_norm")
# error
ft_min_max_scaler(x= x_tbl,input.col = "dep_delay",output.col = "delayed_min_max")
Возвращает нормализатор:
Ошибка: org.apache.spark.SparkException: задание прервано из-за сбоя этапа: сбой задачи 0 на этапе 9.01 раз, последний сбой: потерянная задача 0.0 на этапе 9.0 (TID 9, localhost, драйвер исполнителя): org.apache.spark.SparkException: не удалось выполнить пользовательскую функцию ($ anonfun $ createTransformFunc $ 1: (double) => vector) "
min_max_scaler возвращает:
" Ошибка: java.lang.IllegalArgumentException: требование не выполнено: столбец dep_delay должен иметь тип org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7, но на самом деле был DoubleType. "
Я думаю, что это проблема с типом данных, но не знаю, как ее решить. Кто-нибудь знает, что делать?
Большое спасибо заранее!