Как зарегистрировать пользовательскую функцию (UDF) в SparkR (Программирование Spark и R)? - PullRequest
0 голосов
/ 23 апреля 2020

Мне просто интересно, как можно go зарегистрировать функцию UDF в SparkR? Я знаю, что в PySpark вы можете использовать «spark.udf.register ()», который позволяет вам вызывать этот UDF в запросе spark- sql. Как мы можем сделать то же самое в SparkR?

Я пытаюсь зарегистрировать функцию с именем "Quantile ()" из пакета "DescTools".

Вот мой код:

library(SparkR)
library(DescTools)

sparkR.session()
data <- read.csv("C:/Users/.../.csv")
a <- data[['CommuteKM']]
b <- data[['SurveyWeight']]

df_sparkR <- as.DataFrame(data)
SparkR::createOrReplaceTempView(df_sparkR, "TABLE")

df_final = SparkR::sql("SELECT hair, Quantile(CommuteKM, SurveyWeight, 0.25) from TABLE GROUP BY hair")

Однако это не будет работать, так как возвращает сообщение об ошибке: « org. apache .spark. sql .AnalysisException: Неопределенная функция:« Quantile ». Эта функция не является ни зарегистрированной временной функция или постоянная функция, зарегистрированная в базе данных."

Любая и вся помощь будет оценена.

Спасибо.

...