python hbase_Python操作Hbase

Python操作Hbase的增删改查操作

增改数据put, row操作

put(row, data, timestamp=None, wal=True)---> 插入数据,无返回值

row---> 行,插入数据的时候需要指定;

data---> 数据,dict类型,{key:value}构成,列与值均为str类型

timestamp--->时间戳,默认None,即写入当前时间戳

wal---> 是否写入wal, 默认为True

import

In [8]: conn = happybase.Connection("192.168.14.1",9090)

In [9]: table = conn.table("zhy")

# 向表中增添数据,需要制定rowkey和一个字典形式的键值对

In [11]: table.put("test2",{"info:data":"22222"})

# 通过指定列簇来检索数据

In [12]: row = table.row("test2")

In [13]: print row

{'info:data': '22222'}

In [14]: table.put("test3",{"info:data":"33333"})

In [15]: row = table.row("test3")

In [16]: print row

{'info:data': '33333'}

In [20]: table.put("test2",{"info:content":"33333"})

In [21]: row = table.row("test2")

In [22]: print row

{'info:content': '33333', 'info:data': '22222'}

# 检索多行数据

In [23]: rows = table.rows(["test2","test3"])

In [24]: print rows

[('test2', {'info:content': '33333', 'info:data': '22222'}), ('test3', {'info:data': '33333'})]

删除操作

table.delete("rowkey")---->删除一整行数据

table.delete("rowkey", columns=["info:xxx",...])---->删除一个列簇中几个列的数据

In [27]: table.delete("test3")

In [28]: row = table.row("test3")

In [29]: print row

{}

In [35]: row = table.row("test2")

In [36]: print row

{'info:content': '333333', 'info:data': '22222'}

In [37]: table.delete("test2", columns=["info:content"])

In [38]: row = table.row("test2")

In [39]: print row

{'info:data': '22222'}

全局查询操作scan()方法

可用于遍历查询表中的数据的数量

可以指定开始和结束的row key来进行局部查询

可以通过制定前缀来进行匹配查询

for key, value in table.scan():

print key,value

# 指定row_start和row_stop参数来设置开始和结束扫描的row key

for key, value in table.scan(row_start='www.test2.com', row_stop='www.test3.com'):

print key, value

# 通过row_prefix参数来设置需要扫描的row key

for key, value in table.scan(row_prefix='www.test'):

print key, value

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值