[bigdata-016] python happybase 操作hbase
发布时间:2020-12-14 01:22:24 所属栏目:大数据 来源:网络整理
导读:1. 用happybase库 操作 hbase ??? http://happybase.readthedocs.io/en/latest/ 2. cdh集群的hbase集群有三个节点 ??? hbase的版本是HBase 1.2.0 3. hbase base的log目录小于5g,导致报警,目录在/var/log/hbase,准备清空它。 ?? 删除不需要的log之后,所有
1. 用happybase库 操作 hbase
??? http://happybase.readthedocs.io/en/latest/ 2. cdh集群的hbase集群有三个节点 ??? hbase的版本是HBase 1.2.0 3. hbase base的log目录小于5g,导致报警,目录在/var/log/hbase,准备清空它。 ?? 删除不需要的log之后,所有服务都从红色变成黄色,log目录太小导致了大部分问题。log目录的容量必须要足够大。 4. python+happybase ??? 4.1 pyenv global anacodea3-4.1.1 ??? 4.2 pip install happybase ??? 4.3 测试安装? python -c 'import happybase',不报错就是正常的 ??? 4.4 要在bigdata-master上启动thrift server: ??????? hbase thrift -p 9090 start ??? 4.5 按照如下文档进行操作: ??????? http://happybase.readthedocs.io/en/latest/user.html#establishing-a-connection ??? 4.6 Hbase没有数据类型,所有的row keys,column name,column values都是简单视为raw byte string进行处理 ??? 4.7 删除一条记录,也就是一个row_key对应的所有列族 ???????? deleteall 'testtable','event_0' 5. 示例代码 #!/usr/bin/env python3 #! coding:utf-8 -*- import happybase #要先在hbase某个节点上开启thrift服务 #hbase thrift -p 9090 start connection = happybase.Connection('192.168.0.1',autoconnect=False) connection.open() #print所有的表名 print('All tables: ',connection.tables(),'n') #操作testtable表 #这个操作是一个提前声明-我要用到这个表了-但不会提交给thrift server做操作 table = connection.table(b'testtable') #检索某一行 row = table.row(b'myrow-2') print('a row:',row,'n') #right print(row[b'colfam1:q1']) print(row[b'colfam1:q2']) #wrong # print(row['colfam1:q1']) # print(row['colfam1:q2']) #显示所有列族 print('所有列族',table.families(),'n') #输出两列 print('print two rows:') rows = table.rows([b'myrow-1',b'myrow-2']) for key,data in rows: print(key,data) #字典输出两列 print('n','print two dict rows') rows_as_dict = dict(table.rows([b'myrow-1',b'myrow-2'])) print(rows_as_dict) #输入row的一个列族所有值 row = table.row(b'myrow-2',columns=[b'colfam1']) print('n','输出一个列族',row) #scan操作 print('n','do scan') for key,data in table.scan(): print(key,data)6. 测试高表插入记录: 批量插入1000条记录,0.1~0.6s 批量插入1万条记录,1.5~3s 每秒7k条记录,性能比较靠谱 7. 测试宽表插入记录: 批量插入1000条记录,0.1~0.6s 批量插入1万条记录,1.5~3s 每秒7k条记录 高表和宽表性能几乎一样! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |