我有一个简单的设置如下:
Sys.info()
sysname release version nodename
"Windows" "7 x64" "build 7601, Service Pack 1" "OCTAVE-WS21"
machine login user effective_user
"x86-64" "kjain" "kjain" "kjain"
我正在尝试在R中使用doRedis包来设置集群。我的机器上安装了“2.8.2101”版本的Redis。首先,我尝试在本地计算机上运行一个作业(在RStudio中):
library(doRedis)
registerDoRedis('jobs')
getDoParName()
#[1] "doRedis"
getDoParRegistered()
#[1] TRUE
startLocalWorkers(n = 2,queue = 'jobs')
getDoParWorkers()
#[1] 2
我已经检查过Redis是作为服务运行的(redis-cli ping返回'PONG')
但是,当我尝试运行一个简单的foreach循环时,我得到以下错误;即使我重新启动所有内容,我也会得到同样的错误:
workerIndex = foreach(i=1:100) %dopar% {i}
sprintf出错(“%s:%。0f.env”,队列,ID): 格式'%。0f'无效;将格式%s用于角色对象
显然,顺序版本工作正常:
workerIndex = foreach(i=1:100) %do% {i}
workerIndex
#[[1]]
#[1] 1
#[[2]]
#[1] 2
etc.
请帮忙!任何评论/指针都表示赞赏。如果您需要更多信息,请与我们联系。
答案 0 :(得分:3)
我刚遇到与你相同的错误,但在Ubuntu上。我找到的解决方案是在这个网站上:https://github.com/bwlewis/doRedis/issues/23
简言之,在R中:
options('redis:num'=TRUE)
如果您很好奇错误的来源是什么,请点击链接并阅读相关内容:)
此致 吉丁