如何使用 Python 3.4.5 连接 Hiveserver2

How to connect with Hiveserver2 using Python 3.4.5

我需要从 Python 3.4.5 连接到 Hiveserver2,代码正在 hadoop 集群本身上执行。通常,我从命令行执行 hive -e "some query"。从其他服务器,我们使用仅提供 IP 和端口的用户名机制连接到 Hiveserver2。但是,这不是必需的,因为我是 运行 同一台服务器上的代码。

我尝试了以下方法:

  1. Access Hive Data Using Python
  2. https://github.com/cloudera/impyla/issues/165
  3. How to connect to Hadoop Hive through python via pyhs2?
  4. https://pypi.python.org/pypi/impyla

但没有成功。我在连接阶段本身遇到错误。如果有人需要,我可以分享错误。

如果不出意外,如果有人能详细说明以下问题的答案就太好了 Hive client for Python 3.x

朋友的帮助和使用 impala.dbapi 对在线可用答案的一点点调整解决了这个问题:

from impala.dbapi import connect
conn = connect(host='localhost', port = 10000,auth_mechanism='PLAIN')
cursor = conn.cursor()
cursor.execute('show databases')
results = cursor.fetchall()
print(type(results))
print(results)