1.happybase连接
# 连接操作
import happybase
# 建立连接
con = happybase.Connection('localhost', 9090)
con.open()
# 输出所有表名称
print(con.tables())
# 关闭传输
con.close()
con.open()
2.创建表格
# 创建表格
con = happybase.Connection('localhost', 9090) # 默认9090端口
con.open() # 打开thrift传输,TCP连接
families = {
'wangzherongyao':dict(max_versions=2), # 最大版本数为2
'hepingjingying':dict(max_versions=1, block_cache_enabled=False),
'xiaoxiaole':dict()
}
con.create_table('games', families)
print(con.tables())
[b’games’, b’mytable’]
3.禁用表
con.open()
con.disable_table('games')
print(con.is_table_enabled('games'))
print(con.tables())
con.close()
4.启用表
con.open()
con.enable_table('games')
print(con.is_table_enabled('games'))
print(con.tables())
con.close()
5.删除表
con.open()
con.delete_table('games', disable=True)
con.tables()
con.close()
6.数据创建
# 数据操作
con.open()
# 获取一个表名对象
table = con.table('games')
wangzhe = {
'wangzherongyao:名字':'小黑无敌酒量',
'wangzherongyao:等级': '30',
'wangzherongyao:段位': '垃圾王者',
}
# 提交数据
table.put('2233', wangzhe)
wangzhe = {
'wangzherongyao:名字':'黑驴垃圾酒量',
'wangzherongyao:等级': '10',
'wangzherongyao:段位': '垃圾王者',
}
# 提交数据
table.put('2233', wangzhe)
wangzhe = {
'wangzherongyao:名字':'爱你哟黑驴',
'wangzherongyao:等级': '10',
'wangzherongyao:段位': '我喜欢你',
}
# 提交数据
table.put('88ssa', wangzhe)
wangzhe = {
'wangzherongyao:名字':'爱你哟卞部长',
'wangzherongyao:等级': '10',
'wangzherongyao:段位': '无敌酒量',
}
# 提交数据
table.put('88ssa', wangzhe)
con.close()
7.数据查询
# 查看信息
con.open()
one_row = table.row('2233')
print('*****************row*******************')
for value in one_row.keys():
print(value.decode('utf-8'), one_row[value].decode('utf-8'))
print('*****************cells*******************')
print(table.cells('2233', 'wangzherongyao:段位')[-1].decode('utf-8'))
print(table.cells('2233', 'wangzherongyao:段位')[0].decode('utf-8'))
print('**************rows**********************')
for key, value in table.rows(['88ssa', '2233']):
for index in value.keys():
print(key.decode('utf-8'), index.decode('utf-8'), value[index].decode('utf-8'))
print('**************scan**********************')
for rowkey, liecu in table.scan():
for index in liecu.keys():
print(rowkey.decode('utf-8'), index.decode('utf-8'), liecu[index].decode('utf-8'))
con.close()
row**
wangzherongyao:名字 黑驴垃圾酒量
wangzherongyao:段位 垃圾王者
wangzherongyao:等级 10
cells**
垃圾王者
垃圾王者
rows********
88ssa wangzherongyao:名字 爱你哟卞部长
88ssa wangzherongyao:段位 无敌酒量
88ssa wangzherongyao:等级 10
2233 wangzherongyao:名字 黑驴垃圾酒量
2233 wangzherongyao:段位 垃圾王者
2233 wangzherongyao:等级 10
scan********
2233 wangzherongyao:名字 黑驴垃圾酒量
2233 wangzherongyao:段位 垃圾王者
2233 wangzherongyao:等级 10
88ssa wangzherongyao:名字 爱你哟卞部长
88ssa wangzherongyao:段位 无敌酒量
88ssa wangzherongyao:等级 10
8.删除数据
# 删除数据
con.open()
table = con.table('games')
# 等同于deleteAll
table.delete('2233', ['wangzherongyao:名字'])
for rowkey, liecu in table.scan():
for index in liecu.keys():
print(rowkey.decode('utf-8'), index.decode('utf-8'), liecu[index].decode('utf-8'))
con.close()
2233 wangzherongyao:段位 垃圾王者
2233 wangzherongyao:等级 10
88ssa wangzherongyao:名字 爱你哟卞部长
88ssa wangzherongyao:段位 无敌酒量
88ssa wangzherongyao:等级 10
相关链接
https://blog.csdn.net/u011342882/article/details/86300625
https://blog.51cto.com/u_9928699/3979128
https://www.cnblogs.com/qiu-hua/p/14748508.html