
Last chance! 50% off unlimited learning
Sale ends in
Each jobs reduces a certain number of results on one slave.
You can then submit these jobs to the batch system.
Later, you can do a final reduction with reduceResults
on the master.
batchReduceResults(
reg,
reg2,
fun,
ids,
part = NA_character_,
init,
block.size,
more.args = list()
)
[Registry
]
Registry whose results should be reduced by fun
.
[Registry
]
Empty registry that should store the job for the mapping.
[function(aggr, job, res, ...)
]
Function to reduce results with.
[integer
]
Ids of jobs whose results should be reduced with fun
.
Default is all jobs.
[character
]
Only useful for multiple result files, then defines which result file part(s) should be loaded.
NA
means all parts are loaded, which is the default.
[any] Initial object for reducing.
[integer(1)
]
Number of results reduced in one job.
[list
]
A list of other arguments passed to fun
.
Default is empty list.
Vector of type integer
with job ids.
# NOT RUN {
# generating example results:
reg1 = makeRegistry(id = "BatchJobsExample1", file.dir = tempfile(), seed = 123)
f = function(x) x^2
batchMap(reg1, f, 1:20)
submitJobs(reg1)
waitForJobs(reg1)
# define function to reduce on slave, we want to sum the squares
myreduce = function(aggr, job, res) aggr + res
# sum 5 results on each slave process, i.e. 4 jobs
reg2 = makeRegistry(id = "BatchJobsExample2", file.dir = tempfile(), seed = 123)
batchReduceResults(reg1, reg2, fun = myreduce, init = 0, block.size = 5)
submitJobs(reg2)
waitForJobs(reg2)
# now reduce one final time on master
reduceResults(reg2, fun = myreduce)
# }
Run the code above in your browser using DataLab