【问题标题】:Python connection to a Hortonworks Ambari (Hive).Python 连接到 Hortonworks Ambari (Hive)。
【发布时间】:2017-07-22 12:30:36
【问题描述】:

我正在尝试连接我的本地 Python 界面以连接基于 Web 的 Hortonworks Ambari 客户端。这个想法是编写可以与 Hive 数据库对话并在我的本地机器 (python) 上返回结果的 python 脚本。我在网上阅读了很多关于此的内容,不幸的是没有运气。我希望有人可以分享一个可以帮助我的完整脚本。另外-请详细说明主机必须是什么,其中一些用户名和密码变得非常混乱。谢谢你。

【问题讨论】:

  • Ambari 与此有什么关系?有 Hive 的 ODBC / JDBC 驱动程序,甚至还有一个“本机” Python 客户端,由 Cloudera 提供 > github.com/cloudera/impyla
  • 是的。我试过了,但它一直以“HiveServer2Error:重试 3 次后失败”的形式返回。这是一段非常短的脚本,但不确定出了什么问题。 from impala.dbapi import connect conn = connect(host='telewfiqaihon01.tlo2qa.local', port=10000) cursor = conn.cursor()

标签: python hadoop hive hortonworks-data-platform ambari


【解决方案1】:

试试,像这样,这适用于 Hortonworks 集群。这个伪代码来自一个python脚本,有一些常用的操作可能会派上用场:

import pyhs2
conn = pyhs2.connect(
host=<Server that hosts HIVE, ambari HOSTS view should help identify>,
port=<10000 is default>, 
authMechanism="PLAIN",
user=<user or default user "hive">,
password=<Password for user >,
database=<dbname>)
cur = conn.cursor()

query = "select 1 from dbname.table where col="+"'"+<value>+"'"

print ("query= "+query)
cur.execute(query)
SomeValue= cur.fetch()

cur.close()
conn.close()

一些细节可以从 hive-site.xml 中找到

<property>
<name>hive.server2.thrift.port</name>
<value> **10000** </value>
</property>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://<**some server name**>/hive?createDatabaseIfNotExist=true</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>**hive**</value>
</property>

关于 phs2 的更多信息: https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2#SettingUpHiveServer2-PythonClientDriver

另一个资源是: https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-Python

【讨论】:

  • 我之前尝试过这种方法,但由于某种原因无法克服“ImportError: No module named _saslwrapper”错误。没有太多关于 saslwrapper 的文档。我已经 pip 安装了 sasl 等,但它没有解决问题。
  • @AyanCH .. 您能否发布您的脚本、错误、Python 环境详细信息(以及如果您有单版或多版)。 HDP 环境详细信息。
猜你喜欢
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
相关资源
最近更新 更多