python3对hbase的操作,以及遇到中文字符的处理

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)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光下的沃土

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值