如何使用spark中的软件包?

如何使用spark中的软件包?,r,sparklyr,R,Sparklyr,我需要在sparkyr软件包中使用带有spark\u apply功能的R软件包。问题不太清楚。我试图通过以下方法使spark\u apply工作。它对第一部分起作用,并进行了以下修改 工作部分: library(sparklyr) spark_apply_bundle(packages = T, base_path = getwd()) bundle <- paste(getwd(), list.files()[grep("\\.tar$",list.files())][1], sep

我需要在
sparkyr
软件包中使用带有
spark\u apply
功能的R软件包。问题不太清楚。我试图通过以下方法使
spark\u apply
工作。它对第一部分起作用,并进行了以下修改

工作部分:

library(sparklyr)

spark_apply_bundle(packages = T, base_path = getwd())

bundle <- paste(getwd(), list.files()[grep("\\.tar$",list.files())][1], sep = "/")

hdfs_path <- "hdfs://<my-ip>/user/hadoop/R/packages/packages.tar"
system("hdfs dfs -moveFromLocal", bundle, "hdfs://<my-ip>/user/hadoop/R/packages")

config <- spark_config()

config$sparklyr.shell.files <- "hdfs://<my-ip>/user/hadoop/R/packages/packages.tar"

sc <- spark_connect(master = "yarn-client", 
                    version = "2.4.0", 
                    config = config)
mtcars_sparklyr <- copy_to(sc, mtcars)
另一方面,以下方法是有效的。这是如果我在
上下文中传递
svm
函数。但是,我需要
packages
参数才能工作,因为在
spark\u apply
中有几个包及其函数要使用

result <- mtcars_sparklyr %>%
  spark_apply(
    function(d) {
      fit <- svm(d$mpg, d$wt)
      sum(fit$residuals ^ 2)
    },
    group_by = "cyl",
    context = {svm <- e1071::svm}
  )
结果%
火花点火器(
职能(d){
适合
result <- mtcars_sparklyr %>%
  spark_apply(
    function(d) {
      fit <- svm(d$mpg, d$wt)
      sum(fit$residuals ^ 2)
    },
    group_by = "cyl",
    context = {svm <- e1071::svm}
  )