Как я могу применить функцию R к фрейму данных Spark? - PullRequest
0 голосов
/ 25 мая 2020

В блокноте 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, но я не уверен в синтаксисе функции с несколькими параметрами.

...