【问题标题】:SparkR, worker cannot load librarySparkR,工作人员无法加载库
【发布时间】:2015-09-22 19:01:54
【问题描述】:

我最近开始使用 SparkR。我有 1 个主人和 3 个工人正在运行和 AWS。我正在使用 RSudio 服务器。我的代码涉及 stringr 包,并且该包已安装到所有节点上的/usr/share/R/library

但是当我运行SparkR:::map(data, function(x){str_replace(x, "XXXX", "XXxxx")}) 时,我得到了错误

could not find function "str_replace"

如何在工作节点上加载包?

【问题讨论】:

    标签: r apache-spark stringr sparkr


    【解决方案1】:

    要访问库中的函数,您可以加载并附加它:

    library(stringr) # Or require(stringr)
    str_replace(x, "XXXX", "XXxxx")
    

    或使用双冒号运算符:

    stringr::str_replace(x, "XXXX", "XXxxx")
    

    不幸的是,:: 非常昂贵,所以如果您希望保持命名空间干净,您应该考虑创建一个本地绑定:

    str_replace <- stringr::str_replace
    str_replace(x, "XXXX", "XXxxx")
    

    另一方面,不使用带有::: 的内部API 可能不是最好的主意。忽略良好的实践,在实践中变得有用会很慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      相关资源
      最近更新 更多