hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Austin Lee (JIRA)" <>
Subject [jira] [Commented] (HIVE-12679) Allow users to be able to specify an implementation of IMetaStoreClient via HiveConf
Date Wed, 17 Feb 2016 22:57:18 GMT


Austin Lee commented on HIVE-12679:

Thanks for your suggestion on the approach.  Instead of having SessionHiveMetaStoreClient
directly extend HiveMetaStoreClient via inheritance, if I understand you correctly, we can
accomplish what I am proposing via composition, i.e., by creating a new member of type IMetaStoreClient
in SessionHiveMetaStoreClient and use HiveConf to determine its concrete implementation at
runtime?  I was thinking of putting this logic in SessionHiveMetaStoreClient, but looking
at the latest code in 2.1-snapshot, your approach might make more sense.

As for the use case that I have in mind, I am really after more flexibility, e.g. not having
dependency on Thrift, not having to run in embedded mode to eliminate dependency on Thrift,

> Allow users to be able to specify an implementation of IMetaStoreClient via HiveConf
> ------------------------------------------------------------------------------------
>                 Key: HIVE-12679
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>          Components: Configuration, Metastore, Query Planning
>            Reporter: Austin Lee
>            Assignee: Austin Lee
>            Priority: Minor
>              Labels: metastore
>             Fix For: 1.2.1
> Hi,
> I would like to propose a change that would make it possible for users to choose an implementation
of IMetaStoreClient via HiveConf, i.e. hive-site.xml.  Currently, in Hive the choice is hard
coded to be SessionHiveMetaStoreClient in org.apache.hadoop.hive.ql.metadata.Hive.  There
is no other direct reference to SessionHiveMetaStoreClient other than the hard coded class
name in and the QL component operates only on the IMetaStoreClient interface so
the change would be minimal and it would be quite similar to how an implementation of RawStore
is specified and loaded in hive-metastore.  One use case this change would serve would be
one where a user wishes to use an implementation of this interface without the dependency
on the Thrift server.
> Thank you,
> Austin

This message was sent by Atlassian JIRA

View raw message