hbase 查詢通用shell命令
(>=意思為包含,=意思是等於)
1.按family(列族)查詢,取回所有符合條件的「family」:
scan 『scores』,
或者scan 『scores』,
2.類似於familyfilter,取回所有符合條件的「列:
3.類似於familyfilter,符合條件的row都返回:
4.prefixfilter,取回rowkey以指定prefix開頭的所有行:
scan 『scores』,
或者scan 『scores』,
5.由於其原生帶有prefixfilter這種對rowkey的字首過濾查詢,因此想著實現的字尾查詢的過程中,發現這一方面相對來說還是空白。因此,只能採用一些策略來實現,主要還是採用正規表示式的方式:
或者scan 『scores』,
a,返回有此字首的所有列,
b,在byte中定義所有需要的列字首,只要滿足其中一條約束就會被返回(columnprefixfilter的加強版)
a,無法再scan中使用,只能在get中
b,若設為0,則無法返回資料,設為幾就按伺服器中儲存位置取回幾列
c,可用size()取到列數,觀察效果
scan 『scores』,
columnpaginationfilter
a,limit 表示返回列數
b,offset 表示返回列的偏移量,如果為0,則全部取出,如果為1,則返回第二列及以後
scan 『scores』,
或者scan 『scores』,
建構函式:
columnrangefilter(byte mincolumn, boolean mincolumninclusive, byte maxcolumn, boolean maxcolumninclusive)
*可用於獲得乙個範圍的列,例如,如果你的一行中有百萬個列,但是你只希望檢視列名為bbbb到dddd的範圍
*該過濾器可以進行高效的列名內部掃瞄。(為何是高效呢???因為列名是已經按字典排序好的)hbase-0.9.2 版本引入該功能。
*乙個列名是可以出現在多個列族中的,該過濾器將返回所有列族中匹配的列
pagefilter:取回xx條資料
a,按時間戳搜尋資料庫
b,需設定list 存放所有需要檢索的時間戳
scan 『scores』,
13.hbase根據rowkey批量刪除資料
echo "scan 『ihr:sehr_tags』 " |hbase shell|awk –f > ./file.txt
建立乙個s**件,將1中的檔案寫到
cat ./file.txt|awk 『' at position 2: 1}̲'|while read ro…』,』$』" >> ./deleterowfile.txt
done
然後執行s**件,
#為避免線上執行失誤 ,先檢查deleterowfile.txt中要刪除的rowkey是否正確,所以以下兩行命令請手動執行
#hbase shell ./deleterowfile.txt
#rm ./deleterowfile.txt
HBase 常用Shell命令
1.檢視hbase中存在的所有表 list hbase main list2.建立新的表 create 使用create命令來建立乙個新的表。在建立的時候,必須指定表名和列族名 hbase中的表至少有乙個列族 create hbase main create test 3.檢視表結構 describ...
HBASE 常用shell命令
1 建立表和列族 create student info address 2 向表中插入資料 put student 1 info age 20 put student 1 info name wang put student 1 info class 1 put student 1 address...
HBase常用shell命令
在hbase的根目錄下 bin hbase shell 如果配置了環境變數 hbase shellhbase main 001 0 helplist建立user表 包含info data兩個列族 create user info data 或者create user 向user表中插入資訊,row ...