Map Over Results to Create New Jobs
batchMapResults( fun, ids = NULL, ..., more.args = list(), target, source = getDefaultRegistry() )
fun |
[ |
ids |
[ |
... |
[ANY] |
more.args |
[ |
target |
[ |
source |
[ |
[data.table] with ids of jobs added to target.
The URI to the result files in registry source is hard coded as parameter in the target registry.
This means that target is currently not portable between systems for computation.
Other Results:
loadResult(),
reduceResultsList(),
reduceResults()
# Source registry: calculate square of some numbers
tmp = makeRegistry(file.dir = NA, make.default = FALSE)
batchMap(function(x) list(square = x^2), x = 1:10, reg = tmp)
submitJobs(reg = tmp)
waitForJobs(reg = tmp)
# Target registry: calculate the square root on results of first registry
target = makeRegistry(file.dir = NA, make.default = FALSE)
batchMapResults(fun = function(x, y) list(sqrt = sqrt(x$square)), ids = 4:8,
target = target, source = tmp)
submitJobs(reg = target)
waitForJobs(reg = target)
# Map old to new ids. First, get a table with results and parameters
results = unwrap(rjoin(getJobPars(reg = target), reduceResultsDataTable(reg = target)))
print(results)
# Parameter '.id' points to job.id in 'source'. Use a inner join to combine:
ijoin(results, unwrap(reduceResultsDataTable(reg = tmp)), by = c(".id" = "job.id"))Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.