Hbase客戶端shell操作命令

2021-10-08 05:40:21 字數 2922 閱讀 3052

進入shell客戶端:

hbase shell
列出所有命令:

help
檢視某個命令詳細用法:

help "command"
建立表create

1)  create "a" , "cf1"  建立乙個表名為a 列族為cf1的表

2)  create "b" , "cf1" , "cf2"  建立乙個表名為b 有cf1和cf2兩個列族的表

3)  create "tb_b" , 建表的時候設定列族的屬性  versions儲存資料的版本數  ttl 列族中資料的過期時間

建表指定預分割槽:splits

create "tb_name" , "cf"  , splits =>['001' , '025' , '050']

修改表alert

1) alter "tb_a" , name=>"cf1" , versions=>3   如果列族cf1存在  修改cf1的屬性

2) alter "tb_a" , name=>"cf2" , versions=>3, ttl=>240  如果cf2列族不存在  新增列族 並且屬性設定

3) alter "tb_a" , 'delete' => 'cf1' 刪除列族cf1

檢視表結構desc

desc "tb_name"

禁用表:disable

disable  "tb_name"

刪除表drop   (刪除前先禁用)

drop "tb_name"

啟用表:enable

enable  "tb_name"

判斷表是否啟用is_enabled

is_enable  "tb_name"

判斷表是否存在: exists

exists  "tb_name"

列出(查詢)表list

list  列出所有的表

list 'abc.*'  列舉出符合正規表示式規則的表

list 'ns:abc.*' 

list 'ns:.*'    列出出指定命名空間下的表

檢視一張表的所有的region資訊    list_regions

list_regions  "tb_name"

檢視表的行建的region位置   locate_region

locate_region  'tb_name', 'rowkey'

獲取一行資料:get

get 'ns1:t1', 'r1'

get 't1', 'r1'

get 't1', 'r1',

get 't1', 'r1',

get 't1', 'r1',

插入資料:put

put 'ns1:t1', 'r1', 'c1', 'value'

put 't1', 'r1', 'c1', 'value'

put 't1', 'r1', 'c1', 'value', ts1

全表掃瞄資料:scan

scan  "tb_name"

統計表的行數:count

count  "tb_name"

刪除一行中的某列:delete

delete 't1', 'r1', 'c1', ts1

刪除一行或者行中列:deleteall  (包含delete)

deleteall 'ns1:t1', 'r1'

deleteall 't1', 'r1'

deleteall 't1', 'r1', 'c1'

deleteall 't1', 'r1', 'c1', ts1

hbase hfile -p -f  ******(linux上的hflie檔案)   讀取hfile檔案

Hbase客戶端優化

scan caching scanner一次快取多少資料來scan 從服務端一次抓多少資料回來scan 預設值是 1,一次只取一條。scan attribute selection scan時建議指定需要的column family,減少通訊量,否則scan操作缺省會返回整個row的所有資料 所有c...

MongoDB客戶端shell基本操作

mongodb是一款nosql資料庫,沒有固定的模式,即同乙個集合中的不同文件結構可以不同,如 第一條記錄,第二條記錄 這在關係型資料庫中是無法實現的。對於mongodb,其中 collections即集合相當於關係型資料庫的表,document文件相當於關係型資料庫中的行。因此也就是說,mongo...

shell網路客戶端

需要把線上的access日誌傳送到另乙個程式接收 開始想著用python實現,雖然python也有實現類似tail f的方式,但太麻煩,而且效率也有折扣 偶然發現了shell可以實現網路client,並且只用幾行 就可以實現 先上 trap exec 8 exec 8 0 file data ngi...