SparkR,工作人员无法加载库
SparkR, worker cannot load library
我最近开始使用 SparkR。我有 1 个主人和 3 个工人 运行ning 和 AWS。我正在使用 RSudio 服务器。我的代码涉及stringr包,这个包已经安装到所有节点上的/usr/share/R/library
。
但是当我 运行 SparkR:::map(data, function(x){str_replace(x, "XXXX", "XXxxx")})
时,我得到了错误
could not find function "str_replace"
如何在工作节点上加载包?
要从库中访问函数,您可以加载并附加它:
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 和 :::
可能不是最好的主意。忽略良好实践,在实践中发挥作用实在是太慢了。
我最近开始使用 SparkR。我有 1 个主人和 3 个工人 运行ning 和 AWS。我正在使用 RSudio 服务器。我的代码涉及stringr包,这个包已经安装到所有节点上的/usr/share/R/library
。
但是当我 运行 SparkR:::map(data, function(x){str_replace(x, "XXXX", "XXxxx")})
时,我得到了错误
could not find function "str_replace"
如何在工作节点上加载包?
要从库中访问函数,您可以加载并附加它:
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 和 :::
可能不是最好的主意。忽略良好实践,在实践中发挥作用实在是太慢了。