使用python phoenixdb库

时间:2016-08-10 12:34:28

标签: python phoenix

我有与HBase集成的Phoenix。 我试图使用pythondb库从python代码访问phoenix,我已经使用

启动了QueryServer
bin/queryserver.py start

但是在连接语句之后我收到以下错误:

database_url = 'http://localhost:8765/'
conn = phoenixdb.connect(database_url, autocommit=True)

内部错误:('找不到解析器',无,无,无)

这是日志中的错误:

  

2016-08-10 14:24:07,987 WARN org.eclipse.jetty.server.HttpChannel:/   java.lang.IllegalArgumentException:无法找到at的解析器   org.apache.calcite.avatica.remote.ProtobufTranslationImpl.getParserForRequest(ProtobufTranslationImpl.java:182)     在   org.apache.calcite.avatica.remote.ProtobufTranslationImpl.parseRequest(ProtobufTranslationImpl.java:239)     在   org.apache.calcite.avatica.remote.ProtobufHandler.decode(ProtobufHandler.java:42)     在   org.apache.calcite.avatica.remote.ProtobufHandler.decode(ProtobufHandler.java:28)     在   org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:95)     在   org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:38)     在   org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:68)     在   org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)     在   org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)     在org.eclipse.jetty.server.Server.handle(Server.java:497)处   org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)at at   org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245)     在   org.eclipse.jetty.io.AbstractConnection $ 2.run(AbstractConnection.java:540)     在   org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)     在   org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:555)     在java.lang.Thread.run(Thread.java:745)

1 个答案:

答案 0 :(得分:1)

问题是因为我使用的是Phoenix 4.7,即使我已经使用

启动了服务器
./bin/queryserver.py start -Dphoenix.queryserver.serialization=JSON

删除Phoenix 4.7并安装4.6后,可以成功建立python连接。

我希望有人会使用这个提示:) 谢谢!