import happybase
from pprint import pprint
class HappyHbase(object):
"""
:param str name:table name
:param str row: the row key
:param list_or_tuple columns: list of columns (optional)
"""
def __init__(self,host,port=9090):
self.conn = happybase.Connection(host, port=port)
self.conn.open()
def __init__(self,host,port=9090):
self.conn = happybase.Connection(host, port=port)
self.conn.open()
#显示hbase中的列表
def list_tables(self):
tabels = self.conn.tables()
return tabels
#返回具体列表名
def table(self, name):
table = self.conn.table(name)
return table
#创建数据表
def creat(self, name, kw):
"""
:param name: str
:param kw: dict
exp:
kw = {"":dict()}
:return: None
"""
self.conn.create_table(name, kw)
#删除数据表
def delete(self, name, row):
table = self.table(name)
table.delete(row)
#删除某表某行某列的数据
def delete_column(self, name, row, columns):
self.table(name).delete(row, columns=columns)
#删除数据表
def drop(self, name):
self.conn.disable_table(name)
self.conn.delete_table(name)
#获取具体表的具体某项数据
def cell(self, name, row, column):
"""
:return: list
"""
return self.table(name).cells(row, column)
#查看某表属于哪个列族
def families(self, name):
"""
:return: dict
"""
return self.conn.table(name).families()
#向某个表增加某条数据
def put(self, name, row, kw):
self.table(name).put(row, kw)
#获取某表某行数据
def get(self, name, row):
"""
:return: dict
"""
return self.table(name).row(row)
# 获取某表某行某列具体数据
def get_column(self, name, row, columns):
"""
:return: dict
"""
return self.table(name).row(row, columns)
if __name__ == '__main__':
hap = HappyHbase(host='192.168.110.131',port=9090)
#获取具体某个表的具体数据,要注意返回的是字节码文件,是一个字典
a=hap.get_column('sougou_plasma','row1',['info:content'])
#获取对应的值
content=a[b'info:content']
#要解码转化为中文
result_content=content.decode()
print(result_content)
python3对hbase的操作,以及遇到中文字符的处理
最新推荐文章于 2023-08-16 17:30:43 发布