Hbase Shell 介绍
目錄
?
Scan
?創(chuàng)建表
?Count
?清空表數(shù)據(jù)
刪除數(shù)據(jù)
刪除表
?刪除列簇
判斷表是否為‘enable’
?插入
Region管理?
Scan
- 查詢某個(gè)表某個(gè)列的數(shù)據(jù):
- 指定開始Rowkey查詢?
- ?指定時(shí)間范圍查詢
- 指定多列
?創(chuàng)建表
- 創(chuàng)建表,snappy壓縮,版本1
?Count
- INTERVAL:每10000條顯示一次,CACHE 每次讀取的緩存區(qū)大小,調(diào)整該參數(shù)可提高查詢速度
?清空表數(shù)據(jù)
truncate 'table_name'刪除數(shù)據(jù)
#刪除rowkey為temp的記錄的'info:age'字段 delete 'member','temp','info:age' #刪除整行 deleteall 'member','temp'刪除表
hbase(main)> disable 't1' hbase(main)> drop 't1'?刪除列簇
disable ‘table1’ alter ‘table1’, {NAME=>’tab1_add’, METHOD=>’delete’} enable ‘table1’判斷表是否為‘enable’
is_enabled 'table1'?插入
put 表名 ,rowkey,列名(列族:列名),valueRegion管理?
?
移動(dòng)Region
# 語法:move 'encodeRegionName', 'ServerName'# encodeRegionName指的regioName后面的編碼,ServerName指的是master-status的Region Servers列表# 示例hbase(main)>move '4343995a58be8e5bbc739af1e91cd72d', 'db-41.xxx.xxx.org,60020,1390274516739'encodeRegionName
ServerName?
Merge Region?
1 > merge_region 'encodeRegionName1', 'encodeRegionName2' 2 > merge_region 'encodeRegionName1', 'encodeRegionName2',true?場景一:很多帶有TTL(數(shù)據(jù)過期時(shí)間)的時(shí)間序列業(yè)務(wù)通常在一段時(shí)間之后出現(xiàn)很多空Region,里面沒有任何數(shù)據(jù)。當(dāng)然,空Region必然也不再接收任何讀寫請求。
如果集群中空Region很多,則很有可能造成系統(tǒng)負(fù)載不均衡,某些RegionServer上空Region少,相應(yīng)的讀寫QPS負(fù)載很高;而另一些RegionServer上空Region多,相應(yīng)的讀寫QPS負(fù)載很低。這類負(fù)載不均衡并不容易察覺,因?yàn)閺腗aster UI角度看每個(gè)RegionServer上的Region數(shù)量基本相當(dāng)。
另外,對于那些HBase規(guī)劃并不是很好的業(yè)務(wù)來講,有可能出現(xiàn)很多的冷Region,冷Region接收的讀寫請求相比其他Region來說非常少,這也會(huì)造成系統(tǒng)負(fù)載不均衡現(xiàn)象。
對于這些空Region以及冷Region,可以使用merge_region將其合并。需要注意的是,使用merge_region對這些Region進(jìn)行合并的時(shí)候只能前后相連的Region合并,不相連的Region無法實(shí)現(xiàn)合并。
場景二:在某些特殊的異常情況下,集群中會(huì)出現(xiàn)overlap現(xiàn)象,比如兩個(gè)Region的startkey相同但stopkey不同,或者startkey不同但stopkey相同。在這種異常情況下只能使用merge_region強(qiáng)制合并這些overlap的Region,merge_region命令需要加上參數(shù)true。
無論是哪種場景,如果需要連續(xù)合并多個(gè)相連的Region集,比如region1,region2和region3都需要合并,先執(zhí)行merge_region region1,region2得到region12,再執(zhí)行merge_region region12,region3。合并完region1和region2之后需要對region12執(zhí)行Compaction,之后再合并region12和region3,這樣將沒有異常,否則會(huì)報(bào)異常。
本段參考《Hbase 原理與實(shí)踐》
開啟/關(guān)閉Region
# 語法:balance_switch true|falsehbase(main)> balance_switch手動(dòng)Split
# 語法:split 'regionName', 'splitKey'?手動(dòng)觸發(fā)major compaction
#語法:#Compact all regions in a table:hbase> major_compact 't1'#Compact an entire region:hbase> major_compact 'r1'#Compact a single column family within a region:hbase> major_compact 'r1', 'c1'#Compact a single column family within a table:hbase> major_compact 't1', 'c1'注意事項(xiàng)
truncate 與 truncate_preserve 區(qū)別
? ? ? ? truncate 會(huì)直接刪除表的數(shù)據(jù),同時(shí)也會(huì)刪除表的預(yù)分區(qū)等信息
? ? ? ? truncate_preserve 會(huì)直接刪除表,并重新建表,會(huì)保留預(yù)分區(qū)信息,建議使用該方法
?
?
https://datamining.blog.csdn.net/article/details/89308003
?
總結(jié)
以上是生活随笔為你收集整理的Hbase Shell 介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设备对象
- 下一篇: Phoenix 关联查询异常 , Max