zoukankan      html  css  js  c++  java
  • python连接Phoenix

    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)
  • 相关阅读:
    16. Vue 登录存储
    JS 10位、13位时间戳转日期
    14.Vue 定义全局函数
    13.Vue+Element UI实现复制内容
    12.Vue+Element UI 获取input的值
    11.Vue安装Axios及使用
    Layui入手
    MongoDB自启动设置
    sql数据统计
    sql查询总结
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12212743.html
Copyright © 2011-2022 走看看