gpt4 book ai didi

python - 使用 jaydebeapi3 连接到 Apache Phoenix

转载 作者:行者123 更新时间:2023-11-30 22:39:46 26 4
gpt4 key购买 nike

我有一个程序,其中我一直使用 Lukas Lalinsky 开发的 phoenixdb 软件包,但在过去的几天里它似乎变得非常不稳定。我认为这是由于数据库的大小(因为它不断增长)造成的。我所说的不稳定是指大约一半的查询因运行时异常而失败。

所以我继续尝试寻找一种更稳定的方式来连接我的 Phoenix“服务器”。因此我想尝试一下 JDBC 连接。据我了解,Phoenix 应该与 JDBC 有很好的集成。

但是,我在理解如何设置初始连接方面确实遇到了问题。

我读了以下内容Usage JayDeBeApi 包的部分,但我不知道驱动程序类是什么或它位于哪里?如果我必须自己下载?如何设置呢?等等。

我希望这里有人会知道并希望详细解释它。

谢谢!

编辑:

我已经设法弄清楚我的连接语句应该是这样的:

import jaybedeapi as jdbc
conn = jdbc.connect('org.apache.phoenix.jdbc.PhoenixDriver', ['jdbc:phoenix:<ip>:<port>:', '', ''], '<location-of-phoenix-client.jar>')

但是我仍然不知道在哪里可以获得该 phoenix-client.jar 文件以及如何引用它。

最佳答案

在设置了一个 Java 项目并在该开发环境中测试 JDBC 并获得成功连接后,我设法找到了解决方案。

为了让 JDBC 连接在 Java 中工作,我使用了 Apache here 的 Phoenix 发行版中找到的 JDBC 驱动程序。 。我使用了与我的 Phoenix 和 HBase 版本相匹配的驱动程序 - phoenix-4.9.0-HBase-1.2-client.jar

一旦设置完成并且我可以使用 Java 连接到 Phoenix,我就开始尝试使用 Python 进行设置。我通过以下方式开始与 Phoenix 的连接:

import jaydebeapi as jdbc
import os
cwd = os.getcwd()
jar = cwd + '/phoenix-4.9.0-HBase-1.2-client.jar'
drivername = 'org.apache.phoenix.jdbc.PhoenixDriver'
url = 'jdbc:phoenix:<ip>:<port>/'
conn = jdbc.connect(drivername, url, jar)

现在我使用 Python 通过 JDBC 成功连接到 Phoenix。希望其他人将来可以使用这个问题。

我使用以下命令创建了一个光标,并可以发出如下命令:

cursor = conn.cursor()
sql = """SELECT ...."""
cursor.execute(sql)
resp = cursor.fetchone() # could use .fetchall() or .fetchmany() if needed

我希望这对那里的人有帮助!

关于python - 使用 jaydebeapi3 连接到 Apache Phoenix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43045386/

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