來源於 https://blog.csdn.net/lhmood/article/details/79557408
使用python連接phoenix的幾種方式
文章目錄
使用python連接phoenix的幾種方式
phoenixdb
jaydebeapi
主要有以下幾個python package可以用來連接phoenix,其余的待補充:
jaydebeapi
phoenixdb
phoenixdb
需要先啟動queryserver(python queryserver.py start), 同時在hbase-site.xml中指定zookeeper的連接地址,否則默認連接是本地2181端口
使用pip install phoenixdb,具體示例如下:
1 import phoenixdb 2 import phoenixdb.cursor 3 4 database_url = 'http://localhost:8765/' 5 conn = phoenixdb.connect(database_url, autocommit=True) 6 7 cursor = conn.cursor() 8 cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, username VARCHAR)") 9 cursor.execute("UPSERT INTO users VALUES (?, ?)", (1, 'admin')) 10 cursor.execute("SELECT * FROM users") 11 print cursor.fetchall() 12 13 cursor = conn.cursor(cursor_factory=phoenixdb.cursor.DictCursor) 14 cursor.execute("SELECT * FROM users WHERE id=1") 15 print cursor.fetchone()['USERNAME']
jaydebeapi
經熱心網友指出,需要先開啟JVM, 連接字符串也有細微調整
使用pip install JayDeBeApi,具體示例如下:
1 import jaydebeapi 2 conn = jaydebeapi.connect('org.apache.phoenix.jdbc.PhoenixDriver', \ 3 'jdbc:phoenix:my_zk_server:2181',[ '', ''], 4 '/workspace/service/phoenix-client/phoenix-client.jar') 5 curs = conn.cursor() 6 curs.execute('select * from your_table limit 1') 7 curs.fetchall()