目录
一、完整报错
二、解决
三、 其他报错
一、完整报错
Traceback (most recent call last):
File "D:/Gitlab/my_world/hive2csv.py", line 18, in <module>
conn = hive.Connection(host=host, port=port, username=username, password=password, database=database, auth=auth)
File "D:\Anaconda3\lib\site-packages\pyhive\hive.py", line 269, in __init__
self._transport.open()
File "D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py", line 82, in open
self._send_message(self.START, chosen_mech)
File "D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py", line 103, in _send_message
self._trans.write(header + body)
TypeError: can't concat str to bytes
二、解决
2.1、进入D:\Anaconda3\lib\site-packages\thrift_sasl\__init__.py文件
2.2、添加如下代码到第101行之前
if (type(body) is str):body = body.encode()
然后就可以运行了。
三、 其他报错
报错:AttributeError: 'TSaslClientTransport' object has no attribute 'readAll'
解决:pip install thrift_sasl==0.3.0
其他报错可以参考文章:python连接hive