运行耗时太长的查询后出现pyhive连接问题

sauutmhj  于 2021-06-27  发布在  Hive
关注(0)|答案(0)|浏览(604)

我正在使用pandas.read\ sql函数和配置单元连接来提取一个非常大的数据。我有这样一个剧本:

df = pd.read_sql(query_big, hive_connection)
df2 = pd.read_sql(query_simple, hive_connection)

大查询需要很长时间,在执行之后,python在尝试执行第二行时返回以下错误: raise NotSupportedError("Hive does not have transactions") # pragma: no cover 好像连接有问题。
此外,如果我将第二行替换为multirpocessing.manager().queue(),它将返回以下错误:

File "/usr/lib64/python3.6/multiprocessing/managers.py", line 662, in temp
token, exp = self._create(typeid, *args,**kwds)
File "/usr/lib64/python3.6/multiprocessing/managers.py", line 554, in _create
conn = self._Client(self._address, authkey=self._authkey)
File "/usr/lib64/python3.6/multiprocessing/connection.py", line 493, in Client
answer_challenge(c, authkey)
File "/usr/lib64/python3.6/multiprocessing/connection.py", line 732, in answer_challenge
message = connection.recv_bytes(256) # reject large message
File "/usr/lib64/python3.6/multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/usr/lib64/python3.6/multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File "/usr/lib64/python3.6/multiprocessing/connection.py", line 383, in _recv
raise EOFError
EOFError

似乎这种错误与connection.py中的exit函数出错有关。此外,当我在第一个命令中更改查询以提取不需要太长时间的较小数据时,一切都正常。因此,我假设可能是因为执行第一个查询花费的时间太长,所以某些查询被不正确地终止。导致这两个错误的原因,两者在性质上有很大不同,但都与断开连接问题有关。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题