Using Python 3.8, trying to connect to Hive and run queries but receiving the following error When execute the query and trying to read from cursor receive the following error
../connector/Connector.py:129: in perform_query
print(cursor.description)
../venv/lib/python3.8/site-packages/impala/hiveserver2.py:187: in description
schema = self._last_operation.get_result_schema()
../venv/lib/python3.8/site-packages/impala/hiveserver2.py:1265: in get_result_schema
resp = self._rpc('GetResultSetMetadata', req)
../venv/lib/python3.8/site-packages/impala/hiveserver2.py:992: in _rpc
response = self._execute(func_name, request)
../venv/lib/python3.8/site-packages/impala/hiveserver2.py:1009: in _execute
return func(request)
../venv/lib/python3.8/site-packages/thriftpy2/thrift.py:219: in _req
return self._recv(_api)
../venv/lib/python3.8/site-packages/thriftpy2/thrift.py:231: in _recv
fname, mtype, rseqid = self._iprot.read_message_begin()
../venv/lib/python3.8/site-packages/thriftpy2/protocol/binary.py:372: in read_message_begin
api, ttype, seqid = read_message_begin(
../venv/lib/python3.8/site-packages/thriftpy2/protocol/binary.py:165: in read_message_begin
sz = unpack_i32(inbuf.read(4))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
buf = b''
def unpack_i32(buf):
> return struct.unpack("!i", buf)[0]
E struct.error: unpack requires a buffer of 4 bytes
The code is
self.instance.conn = connect(host='host',
port=10000, auth_mechanism='GSSAPI',
user='username',
password='password',
kerberos_service_name='hive')
def perform_query(self, query):
try:
cursor = self.instance.conn.cursor()
cursor.execute(query)
print(cursor.description)
for row in cursor:
print(row)