I wanted to find the maximum number of tuples a reducer can handle. For that I am using the following inside an UDF in a sampling job
maxTuples = Runtime.getRuntime.maxMemory() / tuple.getInMemorySize();
I am little skeptical about the maxMemory() usage as it will be different in sampling job and the actual job.
Does this always provide a good estimate of the max tuples a reducer can handle?