问题标签 [pyhive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3500 浏览

python-3.8 - 如何使用 Python 3.8 安装 SASL?

我正在尝试在 Windows 10 机器(64 位)上安装 sasl3-0.2.11 python 包。它因 C1083 致命错误而失败。

由于一些代理,我无法避免它们,我通过从 pypi 下载 tar.gz 来安装它,登录到未压缩的文件夹并执行python setup.py install.

该解决方案适用于除 sasl 之外的所有模块。

然后我阅读了这个有用的评论,但是 Cyrus Sasl 的 .whl 也没有工作。他们支持直到 3.7 python,而不是 3.8。

我真的很想知道如何绕过这个问题,或者我可以避免使用 sasl 来使用 Pyhive。

提前致谢。

努鲁

0 投票
0 回答
108 浏览

python-3.x - 获取行数会引发“来自 inputStream 的过早 EOF”错误

我在从临时配置单元表中获取行数时遇到了一些麻烦。我不确定究竟是什么导致了这个错误,因为当我对较小的测试集群运行相同的查询集时,我得到了预期的结果。我只在针对大型配置单元集群运行时看到这一点。

代码类似于

我已经尝试了一些变化来获得计数,但实际上.fetchone()是抛出错误。

如果有人想要整个 hive 堆栈跟踪,我可以添加它,但现在这里只是 python 方面

最终的 hive 错误说明了有关 Premature EOF 的内容 'org.apache.hadoop.hive.ql.exec.FetchOperator:getNextRow:FetchOperator.java:459'], sqlState=None, errorCode=0, errorMessage='java.io.IOException: java.io.EOFException: Premature EOF from inputStream'), hasMoreRows=None, results=None)

考虑到此 COUNT 之前的大型 SELECT/INSERT 查询的数量,我很难相信这是一个内存问题,但我目前也没有其他想法。

谢谢。

0 投票
0 回答
188 浏览

python - 从beeline配置pyhive

我在直线存在并使用命令的机器上

我需要使用 python 和 pyhive 来处理带有熊猫的表。

从 beeline 命令开始的 pyhive 语法到底是什么?

0 投票
1 回答
110 浏览

pyspark - pyspark 从在 azure 云上运行的数据块写入外部配置单元集群

我有在数据块中运行的 pyspark 笔记本。我使用 pyhive 中的“hive.Connection”连接到外部配置单元集群。我的数据在火花数据框中。我的问题是如何将数据帧中的这些数据写入 Hive 的新表中,该表位于数据块以外的不同集群中?

谢谢

0 投票
1 回答
229 浏览

azure - 使用 Python 在 HDInsight 中读取 Hive 表时出现连接问题

全部。我想使用 Python 连接到 HDInsight 中的 Hive 数据库我关注了多个博客和一些Stackoverflow 博客。但是没有运气。下面是我使用pyhiveJayDeBeApi库的尝试。

使用 JayDeBeApi

我已将 hive-jdbc-1.2.1、httpclient-4.4 和 httpcore-4.4.4 jar 添加到当前工作目录,并且已经使用 pip install thrift 安装了 thrift。代码片段是

但我得到以下错误:

不确定,是什么问题。

我也尝试过使用 PyHive,如下所示

但我仍然得到 isuue :

此外,很少有博客建议将 hiveserver2 传输模式从“http”更改为“二进制”。试过了。但这对我也没有帮助......

如果有人能提出一些可行的代码或解决方案,我将不胜感激。提前致谢。

0 投票
0 回答
517 浏览

python - PyHive 连接错误 - 无法启动 SASL

我正在尝试使用 PyHive 连接到 Hive 服务器。到目前为止,我有这个:

在我的 hive-site.xml 配置中,我有这个:

根据我的阅读,这些是我可以连接到配置单元服务器的正确设置(假设我想要 NONE 进行身份验证)。执行脚本我得到一个错误:

我使用的是 Windows,所以我不得不手动下载并安装 SASL - sasl-0.2.1-cp37-cp37m-win32.whl

我在用着:

PyHive - 0.6.3, sasl - 0.2.1, thrift - 0.13.0, thrift-sasl - 0.4.2, thriftpy2 - 0.4.11(不知道从何而来)

我看到了很多问题,并且尝试了几件事,但我无法成功运行脚本。你能指出正确的解决方案吗?是导致问题的 sasl 包吗?

0 投票
0 回答
255 浏览

python - 来自 Flask SQLAlchemy 的 PyHive 连接

我无法使用 Flask 和 SQLAlchemy 连接到 Hive 数据库。下面查看我在特定文件中的配置:

.flaskenv文件

config.py文件

数据库.py文件

但是,当我尝试使用flask db run运行应用程序或尝试使用 commnad flask db migrate创建迁移脚本时,我收到错误 [1] -> 似乎连接参数未正确发送到引擎中。

[1]

Python 包版本:

有人可以帮我吗?

0 投票
0 回答
31 浏览

hive - 通过 hive-site.xml 属性访问 pyhive

我正在尝试通过 Pyhive 访问 Hive。我不想在应用程序代码中硬编码 HiveServer2 主机详细信息。Pyhive 有没有办法从 hive-site.xml 中获取详细信息?

或者一般来说,有没有比 Pyhive 更好的客户端可以从 hive-site.xml 获取详细信息并执行 hive 操作?

0 投票
1 回答
300 浏览

hive - Pyhive Kerberos 连接问题

使用 Python pyhive模块连接到使用Kerberos配置的配置单元数据库时出现以下错误。

我的连接代码:

完整的错误跟踪:

还尝试将kerberos_service_name 更改为 'attuid@principal'但没有运气。

能否请你帮忙!提前致谢

0 投票
0 回答
180 浏览

apache-spark - 使用 Apache Superset 或 Redash 的 Spark Thrift 服务器中的 NullPointerException

在将 Redash 或 Superset 等 BI 工具连接到 Spark Thriftserver(这两个工具都使用 PyHive)后,我得到了 NullPointerException。Apache Zeppelin 对于使用 STS 的查询工作得很好,我永远无法在那里重现错误(Zeppelin 使用 org.apache.hive.jdbc.HiveDriver)。

这会将 STS 发送到只有重新启动才能恢复的状态。所有客户端的查询都将失败(Zeppelin、beeline、Redash、Superset)。它似乎主要发生在自动获取架构时(这不太有效,正确获取数据库名称,表名错误)。在浏览 PyHive 代码时,我遇到了 PyHive <-> STS 之间的一些不兼容问题(例如thisthis)。Redash/Superset 和 STS 之间的连接有效,我可以进行查询,直到 Thriftserver 进入损坏状态。

我理解为什么模式刷新不起作用(并且可能可以解决它),但我不明白为什么 Thriftserver 进入一个不可恢复的、损坏的状态并出现 NullPointerException。

我的设置:

  • Kubernetes
  • Delta Lake,数据格式为 delta
  • Hive 元存储
  • 启动 Spark Thriftserver 的 Spark Cluster:(start-thriftserver.sh --total-executor-cores 3 --driver-memory 3G --executor-memory 1536M --hiveconf hive.server2.thrift.port 10000 --hiveconf hive.server2.thrift.max.worker.threads 2000 --hiveconf hive.server2.thrift.bind.host my-host 我也尝试过spark.sql.thriftServer.incrementalCollect=false,但没有任何影响。)
  • Redash / Apache Superset 连接到 STS