Windows下使用pyhive连接hive的代码如下:
from pyhive import hive
import pandas as pd
def get_hive_connection():
conn = connect(host="123.12.123.1",port=21050,username="hive",password="password",auth="LDAP")
return conn
pd1 = pd.read_sql("select 1",get_hive_connection())
print(pd1)
报错1:
ModuleNotFoundError:No module named 'sasl'
报错1处理方法:
缺少sasl包,Windows下python的包是以文件夹的形式存放,直接将sasl的文件夹放入python目录的\Lib\site-packages下即可
sasl包下载链接:https://pan.baidu.com/s/14vUHRQ1Xcp1iuVEDWl6rGA
提取码:yli5
sasl包装好后执行代码,报错2:
Could not start SASL: b’Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2
报错2处理方法:
在C盘建立文件夹“C:\CMU\bin\sasl2”, 把anaconda环境里\Library\bin\sasl2文件夹下的dll拷贝到这个文件夹里面,然后以管理员的身份运行CMD,在cmd中输入以下代码
REG ADD "HK