В блокноте databricks я использовал spark_read_jdb c для получения таблицы с сервера sql
library(sparklyr)
sc <- spark_connect(method = "databricks")
df <- spark_read_jdbc(sc, ...)
tbl_spark <- sdf_register(df, 'nyctaxi')
В отдельной ячейке у меня есть эта функция:
CalculateDistance <- function(lat1, long1, lat2, long2) {
...
return(distance)
}
Я хочу применить эту функцию к моему tbl_spark (или к df?)
Похоже, я мог бы использовать либо mutate, spark_apply, либо invoke (что кажется более дорогим)
Когда я попробуйте:
mutate(df, CalculateDistance(1,2,3,4))
Эта функция не является ни зарегистрированной временной функцией, ни постоянной функцией, зарегистрированной в базе данных по умолчанию
Я также пробовал использовать spark_apply
на tbl_spark
, но я не уверен в синтаксисе функции с несколькими параметрами.