Description
This commit protocol API should wrap around Hadoop's output committer. Later we can expand the API to cover streaming commits.
The existing Hadoop output committer API is insufficient for streaming use cases:
1. It has no way for tasks to pass information back to the driver.
2. It relies on the weird Hadoop hashmap to pass information from the driver to the executors, largely because there is no support for language integration and serialization in Hadoop MapReduce. Spark has more natural support for passing information through automatic closure serialization.