我在 PySpark(Apache Spark Python API)中使用JayDeBeAPI,这是我的代码的开头(注意,我实际上是通过带有 PySpark 的交互式 shell 运行所有这些)。
import jaydebeapi
import jpype
conn = jaydebeapi.connect('org.apache.phoenix.jdbc.PhoenixDriver',
['jdbc:phoenix:hostname', '', ''])
我正在查询Apache Phoenix,它是 Apache HBase 的 SQL“前端”。
这是我用于 SQL 查询的 Python 代码:
curs = conn.cursor()
curs.execute('select "username",count("username") from "random_data" GROUP BY "username"')
curs.fetchall()
对于所有行,我得到的输出都是这样的:
(u'Username', <jpype._jclass.java.lang.Long object at 0x25d1e10>)
如何修复它以便它实际显示返回的列(count
列)的值?
从Apache Phoenix 数据类型页面,该count
列的数据类型是 BIGINT,它被映射到java.lang.Long
,但由于某种原因jpype
没有显示结果。
python setup.py install
当我下载它们时,我得到了 JayDeBeAPI 0.1.4 和 JPype 0.5.4.2 。