Hbase的Python访问方式

# python3版本  happybase 

导包
pip install thrift
pip install thrift-sasl
pip install happybase

#linux里 启动 thirt服务
bin/hbase-daemon.sh start thrift

D:\virtual_env\virtual125\Lib\site-packages\thriftpy\parser\parser.py
修改其中的488行为如下情况:
#if url_scheme == '':
if url_scheme in ('e', ''): #报哪个 写哪个  

(还有注意修改的代码缩进问题,如果是用记事本修改的,if前是四个空格,不是tab键,否则改完后还会报缩进错误,py文件里修改的一般没这种情况,可忽视这一点,主要是被这个坑了,外观完全看不出来,这里提一下)

#代码 

import happybase
#建议与HBase连接
connection = happybase.Connection(host="192.168.184.16", port=9090)
connection = happybase.Connection(host="hadoop6.baizhiedu.com", port=9090)

connection.open()

#建表测试
hbase  create 'databasename:tablename','f1','f2'
hbase  create 'databasename:tablename,{NAME=>'cf',VERSIONS=>1},{NAME=>'df'}
families = {
    "base":dict(),
    "address":dict()
}
connection.create_table('databasename:tablename',families)

#删除表
connection.delete_table('databasename:tablename',disable=True)

#插入一个数据
# 1获取表对象
table = connection.table('databasename:tablename')
hbase put 'databasename:tablename',"rowkey","base:name","value"
table.put("001",{"base:sex":"male"})

#删除数据
table.delete("001", columns=None, timestamp=None, wal=True)

#查询
info = table.row('001', columns=None, timestamp=None, include_timestamp=False)
print(info)

scanner = table.scan(columns=('address',),limit=2,reverse=True)
print(list(scanner))

猜你喜欢

转载自blog.csdn.net/qq_42393859/article/details/82890850