Skip to content

Commit 9e67d5d

Browse files
committed
use hive v3 on init
1 parent f7cbe3f commit 9e67d5d

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

pyiceberg/catalog/hive.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
)
3535
from urllib.parse import urlparse
3636

37-
from hive_metastore.v4.ThriftHiveMetastore import Client
38-
from hive_metastore.v4.ttypes import (
37+
from hive_metastore.v3.ThriftHiveMetastore import Client
38+
from hive_metastore.v3.ttypes import (
3939
AlreadyExistsException,
4040
CheckLockRequest,
4141
EnvironmentContext,
@@ -55,10 +55,10 @@
5555
StorageDescriptor,
5656
UnlockRequest,
5757
)
58-
from hive_metastore.v4.ttypes import (
58+
from hive_metastore.v3.ttypes import (
5959
Database as HiveDatabase,
6060
)
61-
from hive_metastore.v4.ttypes import (
61+
from hive_metastore.v3.ttypes import (
6262
Table as HiveTable,
6363
)
6464
from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_exponential
@@ -153,11 +153,13 @@
153153

154154
logger = logging.getLogger(__name__)
155155

156+
v3type = importlib.import_module("hive_metastore.v3.ttypes")
157+
v4type = importlib.import_module("hive_metastore.v4.ttypes")
156158

157159
class _HiveClient:
158160
"""Helper class to nicely open and close the transport."""
159161

160-
_transport: TTransport
162+
_transport: TTransport.TTransportBase
161163
_ugi: Optional[List[str]]
162164
_hive_version: HiveVersion = HiveVersion(4, 0, 0)
163165
_hms_v3: object
@@ -184,8 +186,10 @@ def _get_hive_version(self) -> HiveVersion:
184186
version = map(int, open_client.getVersion().split("."))
185187
return HiveVersion(*version)
186188

187-
def _init_thrift_transport(self) -> TTransport:
189+
def _init_thrift_transport(self) -> TTransport.TTransportBase:
188190
url_parts = urlparse(self._uri)
191+
if not url_parts.hostname or not url_parts.port:
192+
raise ValueError("hive hostname and port must be set")
189193
socket = TSocket.TSocket(url_parts.hostname, url_parts.port)
190194
if not self._kerberos_auth:
191195
return TTransport.TBufferedTransport(socket)

0 commit comments

Comments
 (0)