我最近开始使用SparkR。我有1个主人和3个工作人员和AWS。我正在使用RSudio Server。我的代码涉及stringr包,并且此包已安装到所有节点上的/usr/share/R/library
。
但是当我运行SparkR:::map(data, function(x){str_replace(x, "XXXX", "XXxxx")})
时,我收到了错误
could not find function "str_replace"
如何在工作节点上加载包?
答案 0 :(得分:2)
要从库中访问函数,您可以加载并附加它:
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的一方可能不是最好的主意。忽视良好实践,在实践中有用很慢。