数据库网站,计算机网站建设好不好,深圳专业网站建设制作,上海网站建设选缘魁 -企查目录
一、完整报错
二、解决
三、 其他报错
四、impala方式连接hive 或者直接使用 pip install pyhive[hive] 安装。需要先 pip uninstall pyhive。 一、完整报错 Traceback (most recent call last): File D:/Gitlab/my_world/hive2csv.py, line 18, in D:/Gitlab/my_world/hive2csv.py, line 18, in module conn hive.Connection(hosthost, portport, usernameusername, passwordpassword, databasedatabase, authauth) 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: cant 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() 2.2修改后情况 然后就可以运行了。 三、 其他报错 报错AttributeError: TSaslClientTransport object has no attribute readAll 解决pip install thrift_sasl0.3.0 其他报错可以参考文章python连接hive 四、impala方式连接hive 4.1、依赖包
pip install six bit_array thrift thrift_sasl sqlalchemy impyla -i https://pypi.tuna.tsinghua.edu.cn/simple 4.2、代码
from impala.dbapi import connectconn connect(hosthost,portport,userusername,passwordpassword,auth_mechanismauth,databasedatabase)
def get_sql_result(sql):# 鎵ц鏌ヨ骞惰幏鍙栫粨鏋? cursor conn.cursor()cursor.execute(sql)result cursor.fetchall()columns [desc[0] for desc in cursor.description]return result,columnsif __name__ __main__:hive_sql show databasesresult,columns get_sql_result(hive_sql)df pd.DataFrame(result,columnscolumns)