环境:happybase安装:
1.pip install happybase
2.无法连接网络时,在pypi下载whl文件或.tar.gz文件安装

import happybase

# 打开连接
connection = happybase.Connection('somehost')
# 列出可用的表
print(connection.tables())
# 创建表
connection.create_table(
    'mytable',
    {'cf1': dict(max_versions=10),
     'cf2': dict(max_versions=1, block_cache_enabled=False),
     'cf3': dict(),  # use defaults
    }
)
# 获取表的实例,传入表名
table = connection.table('mytable')
# 从表中检索单个行,并将其作为字典返回
row = table.row(b'row-key')
# prints the value of cf1:col1
print(row[b'cf1:col1'])
# 从表中检索多个行键,并将其作为(key, data)元组返回
rows = table.rows([b'row-key-1', b'row-key-2'])
for key, data in rows:
    print(key, data)
# 以字典格式返回(无序),从表中检索多个行键的值
rows_as_dict = dict(table.rows([b'row-key-1', b'row-key-2']))
# 以字典格式返回(有序),从表中检索多个行键的值
from collections import OrderedDict
rows_as_ordered_dict = OrderedDict(table.rows([b'row-key-1', b'row-key-2']))

# 扫描表(指定起始行、结束行,扫描全表则不设置)
for key, data in table.scan(row_start=b'aaa', row_stop=b'xyz'):
    print(key, data)
# 扫描表(加过滤条件:值等于XXX的列)
for key, data in table.scan(filter="ValueFilter(=,'binary:XXX')"):
    print(key, data)
# 扫描表(加过滤条件:值包含XXX的列)
for key, data in table.scan(filter="ValueFilter(=,'substring:XXX')"):
    print(key, data)
    
# 删除记录(行)
table.delete(b'row-key')
# 删除行中的某几列
table.delete(b'row-key', columns=[b'cf1:col1', b'cf1:col2'])
# 删除表(先禁用表,再删除)
connection.disable_table(table_name)
connection.delete_table(table_name)
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐