Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.4
-
None
-
None
Description
HCatalog started by creating its own classes, InputStorageDriver and OutputStorageDriver, to do data conversion between the storage layer Input/OutputFormats and the HCatInput/OutputFormats. These provide very similar functionality to Hive's SerDe class, though with a much simpler interface.
This usage of separate classes has led to a number of issues for HCatalog. One, it cannot make use of existing Hive SerDes. Two, it has led to a need to make HCat specific extensions of Hive interfaces (such as the StorageHandler) to provide the StorageDescriptors. Three, it means that users who already have Hive installed cannot use HCatalog without first updating every partition in their metastore with storage driver information.
I propose we switch to using SerDes for this. To address the issue of the more complicated SerDe interface we can provide adaptor classes that make writing new SerDes easy in simple cases.
Attachments
Attachments
Issue Links
- breaks
-
HCATALOG-277 JSON reads and writes fail
- Resolved
-
HCATALOG-276 After merging in HCATALOG-237 related changes Pig scripts with more than one store fail
- Closed
- incorporates
-
HIVE-2768 Add a getAuthorizationProvider to HiveStorageHandler
- Closed