私は PySpark (Apache Spark Python API) で JayDeBeAPI を使用しています。これが私のコードの始まりです (注意してください。実際には、これらすべてを PySpark の対話型シェルで実行しています)。
import jaydebeapi
import jpype
conn = jaydebeapi.connect('org.apache.phoenix.jdbc.PhoenixDriver',
['jdbc:phoenix:hostname', '', ''])
Apache HBase の SQL「フロントエンド」であるApache Phoenixにクエリを実行しています。
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
で結果が表示されていません。
ダウンロードした時点で、JayDeBeAPI 0.1.4 と JPype 0.5.4.2 を入手しpython setup.py install
ました。