[Python]:phoenixdb.errors.ProgrammingError :(“语法错误。意外的字符:'!'”,601,'42P00',无)

时间:2016-07-03 16:45:26

标签: python phoenix

我正在使用一个名为phoenixdb的python模块来访问phoenix,它是用于查询HBase的SQL包装器。

这是我的代码段: -

import phoenixdb

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

cursor.execute("!table")
print cursor.fetchall()
cursor.close()

列出所有方案和表的phoenix查询是!table或!表。 但是当我尝试在执行函数中传递相同内容时,如上所示,我收到以下错误: -

Traceback (most recent call last):
File "phoenix_hbase.py", line 7, in <module>
cursor.execute("!table")
File "build/bdist.linux-x86_64/egg/phoenixdb/cursor.py", line 242, in execute
File "build/bdist.linux-x86_64/egg/phoenixdb/avatica.py", line 345, in   prepareAndExecute
File "build/bdist.linux-x86_64/egg/phoenixdb/avatica.py", line 184, in _apply
File "build/bdist.linux-x86_64/egg/phoenixdb/avatica.py", line 90, in   parse_error_page
phoenixdb.errors.ProgrammingError: ("Syntax error. Unexpected char: '!'",   601, '42P00', None)

有趣的是,当我尝试传递不同的查询时,例如选择查询,然后执行脚本并生成结果就好了。

Query:cursor.execute("select * from CARETESTING.EDR_BIN_SOURCE_3600_EDR_FLOW_SUBS_TOTAL limit 1")

Result:
[[2045,1023,4567]]

是否还有其他格式的传递!table,相当于phoenixdb库的执行函数中的show tables,我错过了?

我尝试在互联网上查找,但遗憾的是到目前为止还没有任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

!tables是sqlline语法,JDBC接口无法解析。