|
@@ -26,15 +26,16 @@ def create_hive_plain_transport(host, port, username, password, timeout=10):
|
|
|
|
|
|
return TSaslClientTransport(sasl_factory, sasl_auth, socket)
|
|
|
|
|
|
-def create_hive_kerberos_plain_transport(host, port, timeout=10):
|
|
|
+def create_hive_kerberos_plain_transport(host, port, kerberos_service_name, timeout=10):
|
|
|
socket = TSocket(host, port)
|
|
|
socket.setTimeout(timeout * 1000)
|
|
|
|
|
|
- sasl_auth = 'PLAIN'
|
|
|
+ sasl_auth = 'GSSAPI'
|
|
|
|
|
|
def sasl_factory():
|
|
|
sasl_client = sasl.Client()
|
|
|
sasl_client.setAttr('host', host)
|
|
|
+ sasl_client.setAttr('service', kerberos_service_name)
|
|
|
sasl_client.init()
|
|
|
return sasl_client
|
|
|
|
|
@@ -102,9 +103,10 @@ class HiveDS(DataSourceBase):
|
|
|
thrift_transport=create_hive_kerberos_plain_transport(
|
|
|
host=self.host,
|
|
|
port=self.port,
|
|
|
+ kerberos_service_name=self.kerberos_service_name,
|
|
|
timeout=10
|
|
|
),
|
|
|
- auth="KERBEROS", kerberos_service_name=self.kerberos_service_name, database=self.database_name
|
|
|
+ auth="KERBEROS", database=self.database_name
|
|
|
)
|
|
|
|
|
|
|