python连接Phoenix

摘要:
1.启动Phoenix侦听端口#Start,端口:8765[root@node1~]#/opt/phoenix-4.11.0/bin/queryserver.pystartstartingQueryServer,登录到/tmp/penix/root queryserver。日志[root@node1~]#netstat ntlp|grep8765tcp600:::8765:::*LIS

1、启动Phoenix监听端口

#启动,端口:8765
[root@node1 ~]# /opt/phoenix-4.11.0/bin/queryserver.py start
starting Query Server, logging to /tmp/phoenix/root-queryserver.log

[root@node1 ~]# netstat -ntlp |grep 8765
tcp6       0      0 :::8765                 :::*                    LISTEN      50094/java


2、phoenixdb

安装包

#phoenixdb包的版本要和phoenix对应,参考官网:
https://python-phoenixdb.readthedocs.io/en/latest/versions.html#version-0-7

#我的Phoenix是4.11,所以要安装0.7版本
>pip3 install phoenixdb==0.7


python脚本:

#!/usr/bin/env python
# encoding: utf-8

"""
@author:  'Administrator'
@contact:  
@time: 
"""
import phoenixdb
import phoenixdb.cursor


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

cursor = conn.cursor()
cursor.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, username VARCHAR)")
cursor.execute("UPSERT INTO users VALUES (?, ?)", (1, 'admin'))
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())


但是我的脚本执行后,会报错,如下:

因为初学乍练,没有解决掉,希望知道解决办法的朋友给我留个言,多谢

Traceback (most recent call last):
  File "D:/pycharm2018/oldboy-code/day58/test/phoenixdemo.py", line 23, in <module>
    conn = phoenixdb.connect(database_url, autocommit=True)
  File "D:python36libsite-packagesphoenixdb\__init__.py", line 67, in connect
    return Connection(client, **kwargs)
  File "D:python36libsite-packagesphoenixdbconnection.py", line 56, in __init__
    self.open()
  File "D:python36libsite-packagesphoenixdbconnection.py", line 73, in open
    self._client.open_connection(self._id, info=self._connection_args)
  File "D:python36libsite-packagesphoenixdbavatica.py", line 329, in open_connection
    response_data = self._apply(request)
  File "D:python36libsite-packagesphoenixdbavatica.py", line 216, in _apply
    parse_error_protobuf(response_body)
  File "D:python36libsite-packagesphoenixdbavatica.py", line 127, in parse_error_protobuf
    parse_and_raise_sql_error(err.error_message)
  File "D:python36libsite-packagesphoenixdbavatica.py", line 108, in parse_and_raise_sql_error
    raise_sql_error(int(code), sqlstate, message)
  File "D:python36libsite-packagesphoenixdbavatica.py", line 101, in raise_sql_error
    raise error_class(message, code, sqlstate)
phoenixdb.errors.OperationalError: ('Malformed connection url. :node1:2181,node2:2181,node3:2181:2181:/hbase;', 102, '08001', None)

免责声明:文章转载自《python连接Phoenix》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux权限问题学习总结ActiveMQ---知识点整理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

《Python》网络编程之验证客户端连接的合法性、socketserver模块

一、socket的更多方法介绍 # 服务端套接字函数 s.bind() # 绑定(主机,端口号)到套接字 s.listen() # 开始TCP监听 s.accept() # 被动接受TCP客户的连接,(阻塞式)等待连接的到来 # 客户端套接字函数 s.connect() # 主动初始化TCP服务器连接 s.connect_ex() #...

反编译python打包的exe文件

目录 1.前言 2.使用环境 3.还原过程 4.号外 5.exe文件和所用到的反编译工具  6.参考 7.去签名(补漏) 前言 拿到了利用驱动人生进行传播的病毒样本,发现是python打包成的exe文件,经过点波折才搞定。 使用环境 Python 3.6.1(网上说python2.7也可) 还原过程 首先用IDA进行分析,发现PyInstaller等关键信...

python 基础 5.1 python 构造器

一. 类的构造器 __init__ 构造函数,在生成对象时调用。由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把 name score 等属性上去。默认的属性可以写在__init__ 下面。 #/usr/bin/python #coding=ut...

import cx_Oracle ImportError: DLL load failed: 找不到指定的模块。

我们知道,Python使用cx_Oracle连接oracle的三个步骤是: 1、先安装cx-Oracle包,地址:https://pypi.org/project/cx-Oracle/5.3/#files 2、下载Oracle客户端instantclient-basic-win64-12.rar(我的电脑是64位,12是版本,还有11、10等),解压后将o...

python学习-[小甲鱼]零基础入门教学

《零基础入门学习Python》(小甲鱼)学习记录 3月1日 P46魔法方法:属性访问 getattr setattr delattr property >>> class C: def __init__(self, size=10): self.size = size def getSize(self): return se...

sqlite3 on python for newbies

python 集成了 sqlite3 ,其接口很简单: import sqlite3 db_connection = sqlite3.connect(db_filename) db_cursor = db_connection.cursor() db_cursor.execute('select * from tt') result_one = db_cu...