【发布时间】:2020-06-26 21:14:29
【问题描述】:
我正在尝试使用 PyODBC 连接到 hive 服务器,但是我收到了错误。不知道如何解决。
HiveServer 正在 EMR 上运行。
代码
import pyodbc
cnxnstr = 'Driver={/usr/lib/hive/lib/native/Linux-amd64-64/libhortonworkshiveodbc64.so};' \
'HiveServerType=2;' \
'Host=10.164.7.50;' \
'Port=10001;TransportMode=HTTP;' \
'UID=gshah03;' \
'AuthMech=3;' \
'ThriftTransport=SASL;' \
'Schema=my_database;' \
'PWD=mypass$'
cnxn = pyodbc.connect(cnxnstr, autocommit=True)
错误
Error: ('HY000', '[HY000] [unixODBC][Hortonworks][ThriftExtension] (5) Error occurred while contacting server: invalid sasl status. This could be because you are trying to establish a non-SSL connection to a SSL-enabled server. (5) (SQLDriverConnect)')
我也尝试添加此选项,但不起作用'sslverify=0; Option=3;'
Hive-Site.xml
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.http.port</name>
<value>10001</value>
</property>
更新:
使用10000 端口,我收到以下错误:
错误
Error: ('HY000', '[HY000] [unixODBC][Hortonworks][Hardy] (34) Error from server: connect() failed: Connection refused. (34) (SQLDriverConnect)')
【问题讨论】:
-
为什么不
pyspark或impyla或pyhive? -
pyhive 不支持 sasl。 PySpark 我可以访问,但是在转换为 pandas 数据框时我遇到了问题。 stackoverflow.com/questions/62556754/…
-
那里给出的答案是正确的。
-
它不工作
-
还有。当人们只想使用 Python notebook 获取数据时,有些用例..