Class DrillHiveMetaStoreClientFactory
java.lang.Object
org.apache.drill.exec.store.hive.client.DrillHiveMetaStoreClientFactory
Provides factory methods for initialization of
DrillHiveMetaStoreClient instances.-
Method Summary
Modifier and TypeMethodDescriptionstatic DrillHiveMetaStoreClientcreateClientWithAuthz(DrillHiveMetaStoreClient processUserMetaStoreClient, org.apache.hadoop.hive.conf.HiveConf hiveConf, String userName) Create a DrillHiveMetaStoreClient for cases where: 1.static DrillHiveMetaStoreClientcreateCloseableClientWithCaching(org.apache.hadoop.hive.conf.HiveConf hiveConf) Create a DrillMetaStoreClient that can be shared across multiple users.static voidsetTokenStr(org.apache.hadoop.security.UserGroupInformation ugi, String tokenStr, String tokenService) Create a delegation token object for the given token string and service.
-
Method Details
-
createClientWithAuthz
public static DrillHiveMetaStoreClient createClientWithAuthz(DrillHiveMetaStoreClient processUserMetaStoreClient, org.apache.hadoop.hive.conf.HiveConf hiveConf, String userName) Create a DrillHiveMetaStoreClient for cases where: 1. Drill impersonation is enabled and 2. either storage (in remote HiveMetaStore server) or SQL standard based authorization (in Hive storage plugin) is enabled- Parameters:
processUserMetaStoreClient- MetaStoreClient of process user. Useful for generating the delegation tokens when SASL (KERBEROS or custom SASL implementations) is enabled.hiveConf- Conf including authorization configurationuserName- User who is trying to access the Hive metadata- Returns:
- instance of client
-
setTokenStr
public static void setTokenStr(org.apache.hadoop.security.UserGroupInformation ugi, String tokenStr, String tokenService) throws IOException Create a delegation token object for the given token string and service. Add the token to given UGI- Parameters:
ugi- user group informationtokenStr- token stringtokenService- token service- Throws:
IOException- if error happened during decoding token string
-
createCloseableClientWithCaching
public static DrillHiveMetaStoreClient createCloseableClientWithCaching(org.apache.hadoop.hive.conf.HiveConf hiveConf) throws org.apache.hadoop.hive.metastore.api.MetaException Create a DrillMetaStoreClient that can be shared across multiple users. This is created when impersonation is disabled.- Parameters:
hiveConf- hive properties set in Drill storage plugin- Returns:
- instance of client
- Throws:
org.apache.hadoop.hive.metastore.api.MetaException- when initialization failed
-