This is a proposal for adding API to hive which allows reading and writing using a Hadoop compatible API. Specifically, the interfaces being implemented are:
- InputFormat: http://hadoop.apache.org/docs/mapreduce/r0.21.0/api/org/apache/hadoop/mapreduce/InputFormat.html
- OutputFormat: http://hadoop.apache.org/docs/mapreduce/r0.21.0/api/org/apache/hadoop/mapreduce/OutputFormat.html
The classes will be named HiveApiInputFormat and HiveApiOutputFormat.
That proposal is dated Dec 20, 2012, and still there is no solution for the compatibility with the new API. I have a few remarks:
New API InputFormat is a class, not an interface.
The latest Hive 0.11.0 API does not cover that proposal
(there is no HiveApiInputFormat and HiveApiOutputFormat classes).
Using classes with new API ‘org.apache.hadoop.mapreduce.lib.input.TextInputFormat’ results in error: “FAILED: Error in semantic analysis: 1:21 Input format must implement InputFormat. “
New API lacked few core features, and thus old API was ‘undeprecated’ in the latest release. It is advisable to use old API as most likely it will be the one that is here to stay.