3

次のような簡単なセットアップがあります。

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", queue, ID) のエラー: 無効な形式 '%.0f'; 文字オブジェクトには形式 %s を使用

明らかに、順次バージョンは正常に動作します。

workerIndex = foreach(i=1:100) %do% {i}
workerIndex
#[[1]]
#[1] 1

#[[2]]
#[1] 2
etc.

助けてください!コメント/ポインタは大歓迎です。さらに情報が必要な場合はお知らせください。

4

1 に答える 1