From a82edd6745e040bf390dfd478281e97a420c50ef Mon Sep 17 00:00:00 2001 From: robertomorandeira Date: Thu, 4 Jan 2024 12:23:09 +0100 Subject: [PATCH] feat: Add kerberos service property to allow kerberized hive connection --- soda/spark/soda/data_sources/spark_data_source.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/soda/spark/soda/data_sources/spark_data_source.py b/soda/spark/soda/data_sources/spark_data_source.py index 2757fc556..19b6258cd 100644 --- a/soda/spark/soda/data_sources/spark_data_source.py +++ b/soda/spark/soda/data_sources/spark_data_source.py @@ -25,6 +25,7 @@ def hive_connection_function( port: str, database: str, auth_method: str, + kerberos_service_name: str, **kwargs, ): """ @@ -44,6 +45,8 @@ def hive_connection_function( The databse auth_method : str The authentication method + kerberos_service_name: str + The Kerberos service name Returns ------- @@ -59,6 +62,7 @@ def hive_connection_function( port=port, database=database, auth=auth_method, + kerberos_service_name=kerberos_service_name, ) return connection @@ -438,6 +442,7 @@ def __init__(self, logs: Logs, data_source_name: str, data_source_properties: di self.database = data_source_properties.get("catalog", "default") self.schema = data_source_properties.get("schema", "default") self.auth_method = data_source_properties.get("authentication", None) + self.kerberos_service_name = data_source_properties.get("kerberos_service_name", None) self.configuration = data_source_properties.get("configuration", {}) self.driver = data_source_properties.get("driver", None) self.organization = data_source_properties.get("organization", None) @@ -464,6 +469,7 @@ def connect(self): port=self.port, database=self.database, auth_method=self.auth_method, + kerberos_service_name=self.kerberos_service_name, driver=self.driver, token=self.token, schema=self.schema,