Hi Hcat devs,

While working on the hbase storage handler, I noticed that although the
storage handlers are pluggable as it is, the user has to explicitly write
down the class name instead of just the name of the store, like 'hbase'. So
I am proposing to introduce named storage handlers, with pluggable naming.
So instead of:

CREATE TABLE test1(foo int, bar int)
STORED BY 'org.apache.hcatalog.hbase.HBaseHCatStorageHandler'

The table can be created by:

CREATE TABLE test1(foo int, bar int)
STORED BY 'hbase'

And the name -> class mapping is read from the configuration with smt like:
<property>
 <name>hive.storage.handler.hbase.class</name>
 <value>org.apache.hcatalog.hbase.HBaseHCatStorageHandler</value>
</property>

Something like this will also allow HCat to override hbase handler with
it's current implementation without the need to change the table
definition. What do you guys think, if it is something to pursue, I can
move the discussion to a hive jira.

Thanks,
Enis

Reply via email to