如何将变量传递给spark_apply()中调用的函数?
我希望能够将额外的变量传递给SparkyR中spark_apply调用的函数 例如:如何将变量传递给spark_apply()中调用的函数?,r,apache-spark,sparklyr,R,Apache Spark,Sparklyr,我希望能够将额外的变量传递给SparkyR中spark_apply调用的函数 例如: # setup library(sparklyr) sc <- spark_connect(master='local', packages=TRUE) iris2 <- iris[,1:(ncol(iris) - 1)] df1 <- sdf_copy_to(sc, iris2, repartition=5, overwrite=T) # This works fine res <-
# setup
library(sparklyr)
sc <- spark_connect(master='local', packages=TRUE)
iris2 <- iris[,1:(ncol(iris) - 1)]
df1 <- sdf_copy_to(sc, iris2, repartition=5, overwrite=T)
# This works fine
res <- spark_apply(df1, function(x) kmeans(x, 3)$centers)
# This does not
k <- 3
res <- spark_apply(df1, function(x) kmeans(x, k)$centers)
#设置
图书馆(年)
sc我没有设置spark进行测试,但是您可以创建一个闭包吗
kmeanswithk <- function(k) {force(k); function(x) kmeans(x, k)$centers})
k <- 3
res <- spark_apply(df1, kmeanswithk(k))
kmeanswithkspark\u apply()
现在有一个上下文
参数,可供您向环境传递其他对象/变量/etc
res
kmeanswithk <- function(k) {force(k); function(x) kmeans(x, k)$centers})
k <- 3
res <- spark_apply(df1, kmeanswithk(k))