gpt4 book ai didi

python - 在 Python 中运行 Hive 查询?

转载 作者:可可西里 更新时间:2023-11-01 14:34:05 35 4
gpt4 key购买 nike

我已经在这上面停留了几个小时,而且在取得任何进展时遇到了困难。我有一个带有 Hue 服务器的远程 Hadoop 实例,我一直在对其运行 Hive 查询。这些工作正常。我一直希望现在直接通过 Python 对配置单元运行查询,但这就是我的问题出现的地方。我试过通过 Python Hive Utils 来运行和 pyhs2 .前者给我:

thrift.Thrift.TApplicationException: Invalid method name: 'get_database'

后者只是超时。

我知道服务器使用的是 0.10.0-cdh4.3.0,但我不知道如何判断它使用的是 HiveServer 还是 HiveServer2。

所以,我的问题有三个方面:

  1. 我如何知道正在使用哪个版本的 HiveServer?
  2. 这对通过 Python 连接来说重要吗?
  3. 为什么我无法连接?

最佳答案

您可以只使用 ODBC。
在植物中:

import pyodbc
cnxn = pyodbc.connect("DSN=XXX",autocommit=True)
cursor = cnxn.cursor()
cursor.execute("select * from YYY")

XXX 是之前创建的 DSN..
对于驱动程序,请转到 here
在定义 DSN 时,您必须设置端口(默认为 10000)以及它是 HiveServer1 还是 2。
要知道它是 1 还是 2,您需要访问服务器并检查哪个进程在该相关端口上监听。 (netstat 将为您提供进程号和端口,jps -m 将为您提供进程号以及它是 HiveServer1 还是 2)

关于python - 在 Python 中运行 Hive 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22900224/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com