Hbase 建表基本命令总结
訪問hbase,以及操作hbase,命令不用使用分號
hbase?shell?進入hbase
list?查看表
hbase?shell?-d
hbase(main):024:0>?scan?'.META.'
=============小例子===================================================
1.?創(chuàng)建一個表member
hbase(main):025:0>?create?'member','m_id','address','info'
2.list?#查看所有表
3.查看表描述
hbase(main):028:0>?describe?'member'
4.?scan瀏覽表中數(shù)據(jù)
scan?'member'
5.
刪除一個列族m_id:先將表disable(如果表中之前有數(shù)據(jù)的話,會把數(shù)據(jù)清空)
hbase(main):030:0>?disable?'member'
hbase(main):033:0>?is_enabled?'member'
hbase(main):034:0>?alter?'member',{NAME=>'m_id',METHOD=>'delete'}
最后enable,否則不能進行其他操作
hbase(main):038:0>?enable?'member'
6.插入幾條記錄
put'member','scutshuxue','info:age','24'
put'member','scutshuxue','info:birthday','1987-06-17'
put'member','scutshuxue','info:company','alibaba'
put'member','scutshuxue','address:contry','china'?
put'member','scutshuxue','address:province','zhejiang'?
put'member','scutshuxue','address:city','hangzhou'?
scan?'member'
7.獲取數(shù)據(jù)
獲取一個id的所有數(shù)據(jù)
hbase(main):001:0>get?'member','scutshuxue'
獲取一個id,一個列族的所有數(shù)據(jù)
hbase(main):002:0>get?'member','scutshuxue','info'
獲取一個id,一個列族中一個列的所有數(shù)據(jù)
hbase(main):002:0>get?'member','scutshuxue','info:age'?
通過timestamp來獲取兩個版本的數(shù)據(jù)
hbase(main):010:0>get?'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}
8.??更新一條記錄
將scutshuxue的年齡改成99
hbase(main):004:0>put?'member','scutshuxue','info:age'?,'99'
10.
查詢表中有多少行:
hbase(main):019:0>count?'member'??
11.
刪除整行
hbase(main):001:0>deleteall?'member','xiaofeng'
12.
刪除id為xiaofeng的值的‘info:age’字段
hbase(main):016:0>delete?'member','temp','info:age'
13.
給‘xiaofeng’這個id增加'info:go'字段,并使用counter實現(xiàn)遞增
hbase(main):041:0>?incr?'member','xiaofeng','info:go'
連續(xù)執(zhí)行incr以上,COUNTER?VALUE?的值會遞增,通過get_counter
獲取當(dāng)前count的值
hbase(main):069:0>get_counter?'member','xiaofeng','info:age'?
hbase(main):058:0>get?'member','xiaofeng','info:go'??
獲取當(dāng)前count的值
hbase(main):069:0>get_counter?'member','xiaofeng','info:age'?
=============================相關(guān)刪除=========================
1.
刪除一個列族:先將表disable(如果表中之前有數(shù)據(jù)的話,會把數(shù)據(jù)清空)
hbase(main):030:0>?disable?'member'
hbase(main):033:0>?is_enabled?'member'
hbase(main):034:0>?alter?'member',{NAME=>'m_id',METHOD=>'delete'}
最后enable,否則不能進行其他操作
hbase(main):038:0>?enable?'member'
2.
刪除整行
hbase(main):001:0>deleteall?'scores','xiaofeng'
3.
將整張表清空:
hbase(main):035:0>truncate?'scores'
hbase是先將掉disable掉,然后drop掉后重建表來實現(xiàn)truncate的功能
4.
drop一個表(先disable,在drop)
hbase(main):029:0>disable?'scores'
hbase(main):029:0>drop?'scores'
=====================基本操作===========================================
1.
查詢表是否存在
hbase(main):021:0>exists?'scores'
2.
判斷表是否enable
hbase(main):034:0>is_enabled?'scores'
???????????????????????????????????????????????????????????????????????????????????????
3.
判斷表是否disable
hbase(main):032:0>is_disabled?'scores'
4.
列出所有的表
hbase(main):028:0>list
5.
創(chuàng)建表member
hbase(main):025:0>?create?'member','m_id','address','info'
6.
查看表描述
hbase(main):028:0>?describe?'member'
=================查詢操作================================================
1.scan?'表名'?#查看所有數(shù)據(jù)
2.get是根據(jù)主鍵查看一列
get?'表名','主鍵'[,'列簇名'][,'列簇名:列名']
=============================================================
過濾查詢表的內(nèi)容
1.FirstKeyOnlyFilter()?得到每一行的列族info的第一個列
hbase(main):002:0>?scan?'student',{COLUMNS=>'info',FILTER=>"(FirstKeyOnlyFilter())"}
2.查看列簇是info,LIMIT是顯示的行數(shù),STARTROW是開始行對應(yīng)的是主鍵
hbase(main):008:0>?scan?'student',{COLUMNS=>['info'],LIMIT=>4,STARTROW=>'200977100710'}
3.查看列簇是info,name
hbase(main):007:0>?scan?'student',{COLUMNS=>['info','name'],LIMIT=>4,STARTROW=>'200977100710'}
總結(jié)
以上是生活随笔為你收集整理的Hbase 建表基本命令总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark - 大数据Big Data处
- 下一篇: HBase总结(十二)Java API