The batch parameter on Scanner data structure controls how many cells (not rows) will be retrieved at a time. This means that for it be useful one needs to write code to combines the data from possibly multiple batches so only complete rows are returned to the client code. This might not be needed with stateless scanners #7 as they have limit parameter which operates on the row level.
I have a piece of code that does that and if there is enough appetite I can open a pull request.
The gist of it is here: https://gist.github.com/pawelpabich/53d5cfc3ef51a083a042. I also have set of tests that covers it.
One more thing, if you don't specify batch parameter then, in my experience, all gets returned at once which might cause Out of Memory exceptions along the way.