impala.error.HiveServer2Error:重试3次后失败 &



我使用impyla和ibis连接hive服务器,但我得到了错误。我尝试了以下代码:

from impala.dbapi import connect
impcur = connect(host="kudu3", port=10000, database="yingda_test", password=None, user='admin', kerberos_service_name='None').cursor()

出现新的错误:

Traceback (most recent call last):
File "/Users/edy/src/PythonProjects/dt-center-algorithm/test/1.py", line 4, in <module>
impcur = connect(host="kudu3", port=10000, database="yingda_test", password=None, user='admin', kerberos_service_name='None').cursor()
File "/usr/local/conda3/envs/py37/lib/python3.7/site-packages/impala/hiveserver2.py", line 129, in cursor
session = self.service.open_session(user, configuration)
File "/usr/local/conda3/envs/py37/lib/python3.7/site-packages/impala/hiveserver2.py", line 1187, in open_session
resp = self._rpc('OpenSession', req, True)
File "/usr/local/conda3/envs/py37/lib/python3.7/site-packages/impala/hiveserver2.py", line 1080, in _rpc
response = self._execute(func_name, request, retry_on_http_error)
File "/usr/local/conda3/envs/py37/lib/python3.7/site-packages/impala/hiveserver2.py", line 1142, in _execute
.format(self.retries))
impala.error.HiveServer2Error: Failed after retrying 3 times

节俭 0.15.0thrift-sasl 0.4.3thriftpy2 0.4.14pure-sasl 0.6.2sasl 0.2.1thrift-sasl 0.4.3ibis-framework 2.0.0impyla 0.17.0Python版本:3.7.12 with anaconda

我尝试过ibis-1.3.0和2.0版本。你们能给点建议吗?非常感谢

我也遇到过这个问题。

我的代码是:
from impala.dbapi import connect
import psycopg2
conn_hive = connect(host="xxx.xxx.xxx.xxx", port=xxx, user='admin', 
password='password', database='xxx', auth_mechanism="PLAIN", timeout=6000)
hive_cursor = conn_hive.cursor()
hive_cursor.execute(query_sql)
data_list = hive_cursor.fetchall()
...get data...
hive_cursor.close()
conn_hive.close()

在我和我的同事尝试后,我们发现当我们手动重新连接hive时将会成功.

这意味着如果你想从同一个hive数据库中获得不同的数据,你最好关闭连接,并通过以下代码手动重新连接hive:

conn_hive = connect(host="xxx.xxx.xxx.xxx", port=xxx, user='admin', 
password='password', database='xxx', auth_mechanism="PLAIN", timeout=6000)
hive_cursor = conn_hive.cursor()
hive_cursor.execute(query_sql)
data_list = hive_cursor.fetchall()
...get data1...
hive_cursor.close()
conn_hive.close()
conn_hive = connect(host="xxx.xxx.xxx.xxx", port=xxx, user='admin', 
password='password', database='xxx', auth_mechanism="PLAIN", timeout=6000)
hive_cursor = conn_hive.cursor()
hive_cursor.execute(query_sql)
data_list = hive_cursor.fetchall()
...get data2...
hive_cursor.close()
conn_hive.close()

最后,我的同事告诉我,最近黑斑羚有一个问题。

最新更新