hbase shell基本命令

2021-07-07 08:16:59 字數 3117 閱讀 7628

部分**

1.進入hbase shell console

$hbase_home/bin/hbase shell

1)檢視當前使用者

hbase(main)> whoami

2.表的管理

1)檢視有哪些表

hbase(main)> list

2)建立表

# 語法:create ,

# 例如:建立表t1,有兩個family name:f1,f2,且版本數均為2

hbase(main)> create 't1',,

3)刪除表

分兩步:首先disable,然後drop

例如:刪除表t1

hbase(main)> disable 't1'

hbase(main)> drop 't1'

4)檢視表的結構

# 語法:describe

# 例如:檢視表t1的結構

hbase(main)> describe 't1'

5)修改表結構

修改表結構必須先disable

# 語法:alter 't1', ,

# 例如:修改表test1的cf的ttl為180天

hbase(main)> disable 'test1'

hbase(main)> alter 'test1',,

hbase(main)> enable 'test1'

3.許可權管理

1)分配許可權

# 語法 : grant 引數後面用逗號分隔

# 許可權用五個字母表示: "rwxca".

# read('r'), write('w'), exec('x'), create('c'), admin('a')

# 例如,給使用者『test'分配對錶t1有讀寫的許可權,

hbase(main)> grant 'test','rw','t1'

2)檢視許可權

# 語法:user_permission

# 例如,檢視表t1的許可權列表

hbase(main)> user_permission 't1'

3)收回許可權

# 與分配許可權類似,語法:revoke

# 例如,收回test使用者在表t1上的許可權

hbase(main)> revoke 'test','t1'

4.表資料的增刪改查

1)新增資料

# 語法:put ,,,,

# 例如:給表t1的新增一行記錄:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系統預設

hbase(main)> put 't1','rowkey001','f1:col1','value01'

用法比較單一。

2)查詢資料

a)查詢某行記錄

# 語法:get ,,[,....]

# 例如:查詢表t1,rowkey001中的f1下的col1的值

hbase(main)> get 't1','rowkey001', 'f1:col1'

# 或者:

hbase(main)> get 't1','rowkey001',

# 查詢表t1,rowke002中的f1下的所有列值

hbase(main)> get 't1','rowkey001'

b)掃瞄表

# 語法:scan ,

# 另外,還可以新增startrow、timerange和fitler等高階功能

# 例如:掃瞄表t1的前5條資料,有兩種方式:

hbase(main)> scan 't1',

hbase(main)> scan 't1',

d)  rowkey模糊查詢

#使用scan模糊查詢rowkey以600034開頭資料,兩種方式

hbase(main)> scan 't1',

hbase(main)> scan 't1',

e)  按時間戳查詢

#使用scan加filter

hbase(main)> scan 't1',

f)  多條件查詢

#使用scan

hbase(main)>scan 't1',

hbase(main)>scan 't1',

hbase(main)>scan 't1',

hbase(main)>scan 't1',

hbase(main)>scan 't1',

g)查詢表中的資料行數

# 語法:count ,

# interval設定多少行顯示一次及對應的rowkey,預設1000;cache每次去取的快取區大小,預設是10,調整該引數可提高查詢速度

# 例如,查詢表t1中的行數,每100條顯示一次,快取區為500

hbase(main)> count 't1',

3)刪除資料

a )刪除行中的某個列值

# 語法:delete , ,  , ,必須指定列名

# 例如:刪除表t1,rowkey001中的f1:col1的資料

hbase(main)> delete 't1','rowkey001','f1:col1'

注:將刪除改行f1:col1列所有版本的資料

b )刪除行

# 語法:deleteall , ,  , ,可以不指定列名,刪除整行資料

# 例如:刪除表t1,rowk001的資料

hbase(main)> deleteall 't1','rowkey001'

c)刪除表中的所有資料

# 語法: truncate

# 其具體過程是:disable table -> drop table -> create table

# 例如:刪除表t1的所有資料

hbase(main)> truncate 't1'

使用hbase用到的幾個filter singlecolumnvaluefilter,rowfilter,valuefilter 

見博文 

Hbase shell 的基本查詢命令

查詢前十條資料 例 scan book info 查詢前十條c q列的資料 例 scan book info 查詢rowkey從 1000 到 2000 列族為c q的資料 例 scan book info prefixfilter rowkey 字首過濾。ps查詢rowkey字首為100的資料 例...

Hbase Shell命令列基本操作

建立表 hbase test 表名,不能丟 列簇,f1 表示列簇名稱,name 格式必須這樣寫 create hbase test 顯示表 list 顯示所有表相當於show tables 顯示表結構 desc hbase test 檢視表結構 刪除表 關閉表 disable hbase test ...

Hbase shell基本操作

注意 1 無論是表名或者列名,都需要新增引號 2.關鍵字大寫,如column,versions,timestamp等 1.建立表 語法 create 表名稱 列族名稱1 列族名稱1 create users userid address info 列出全部表 list 得到表的描述 describe...