hbase 常用的shell 命令

2021-09-24 23:25:28 字數 2576 閱讀 6304

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 ...