Interface for create output format/committer/writer used during saving an RDD using a Hadoop
OutputFormat (both from the old mapred API and the new mapreduce API)
1. Implementations should throw IllegalArgumentException when wrong hadoop API is
2. Implementations must be serializable, as the instance instantiated on the driver
will be used for tasks on executors;
3. Implementations should have a constructor with exactly one argument:
(conf: SerializableConfiguration) or (conf: SerializableJobConf).