doRedis в Windows 7 выдает ошибку при запуске цикла foreach
У меня есть простая настройка следующим образом:
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"
Я пытаюсь использовать пакет doRedis в R для настройки кластера. На моем компьютере установлена версия Redis "2.8.2101". Для начала я попытался запустить задание на моей локальной машине (в 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", очередь, идентификатор): неверный формат "%.0f"; использовать формат% s для символьных объектов
Очевидно, что последовательная версия работает нормально:
workerIndex = foreach(i=1:100) %do% {i}
workerIndex
#[[1]]
#[1] 1
#[[2]]
#[1] 2
etc.
Пожалуйста помоги! Любые комментарии / указатели приветствуются. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
1 ответ
Я только что столкнулся с той же ошибкой, что и вы, однако в Ubuntu. Решение, которое я нашел, было на этом сайте: https://github.com/bwlewis/doRedis/issues/23
Короче говоря это в R: options('redis:num'=TRUE)
Если вам интересно, что является источником ошибки, не стесняйтесь нажать на ссылку и прочитать об этом:)
С уважением, Гедеон