Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将变量传递给spark_apply()中调用的函数?_R_Apache Spark_Sparklyr - Fatal编程技术网

如何将变量传递给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 <-

我希望能够将额外的变量传递给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 <- 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))
kmeanswithk
spark\u apply()
现在有一个
上下文
参数,可供您向环境传递其他对象/变量/etc

res
kmeanswithk <- function(k) {force(k); function(x) kmeans(x, k)$centers})
k <- 3
res <- spark_apply(df1, kmeanswithk(k))