Ошибка Pyhive после обновления с CDH до частного облака CDP
Могу ли я получить вашу помощь, чтобы устранить приведенную ниже ошибку из модуля Pyhive. Проблема: мы обновили кластер Cloudera с версии CDH до версии CDP. Мы используем модуль Python Pyhive для получения соединения Impala с Impala, используя pyhive hive.connect(User,password,host,port,auth=LDAP). Мы получаем ошибку ниже для некоторых запросов, которые отправляются через pandas read_sql, и некоторые запросы выполняются нормально и возвращают DF. Это было нормально до обновления, и запросы не вызывали проблем, и все они возвращали результаты.
conn = pyhive.Connection(host=impala_host, port=impala_port, username=user, password=password, auth="LDAP")
PFB трассировка стека.
data = pd.read_sql(sql, conn)
File "/usr/local/lib/python3.7/site-packages/pandas/io/sql.py", line 608, in read_sql
chunksize=chunksize,
File "/usr/local/lib/python3.7/site-packages/pandas/io/sql.py", line 2130, in read_query
data = self._fetchall_as_list(cursor)
File "/usr/local/lib/python3.7/site-packages/pandas/io/sql.py", line 2144, in _fetchall_as_list
result = cur.fetchall()
File "/usr/local/lib/python3.7/site-packages/pyhive/common.py", line 137, in fetchall
return list(iter(self.fetchone, None))
File "/usr/local/lib/python3.7/site-packages/pyhive/common.py", line 106, in fetchone
self._fetch_while(lambda: not self._data and self._state != self._STATE_FINISHED)
File "/usr/local/lib/python3.7/site-packages/pyhive/common.py", line 46, in _fetch_while
self._fetch_more()
File "/usr/local/lib/python3.7/site-packages/pyhive/hive.py", line 477, in _fetch_more
_check_status(response)
File "/usr/local/lib/python3.7/site-packages/pyhive/hive.py", line 585, in _check_status
raise OperationalError(response)
pyhive.exc.OperationalError: TFetchResultsResp(status=TStatus(statusCode=2, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None), hasMoreRows=True, results=None)
Мы проверили исходный код Pyhive и cursor.fetchall(), не ожидая sleep() и немедленно выйдя, потому что статус запроса (код =2) все еще выполняется на бэкэнде.