Description
ArrowRRunner and RRunner has already duplicated codes. We should refactor and deduplicate them. Also, ArrowRRunner happened to have a rather hacky code (see https://github.com/apache/spark/pull/23787/files#diff-a0b6a11cc2e2299455c795fe3c96b823R61
).
We might even be able to deduplicate some codes with PythonRunners.