Hbase介紹四(shell命令)

下面我們看看HbaseShell的一些基本操作命令,我列出了幾個常用的HbaseShell命令,如下:

名稱

命令表達式

創建表

create '表名稱', '列名稱1','列名稱2','列名稱N'

添加記錄

put '表名稱', '行名稱', '列名稱:', '值'

查看記錄

get '表名稱', '行名稱'

查看表中的記錄總數

count? '表名稱'

刪除記錄

delete? '表名' ,'行名稱' , '列名稱'

刪除一張表

先要屏蔽該表,才能對該表進行刪除,第一步 disable '表名稱' 第二步? drop '表名稱'

查看所有記錄

scan "表名稱"

查看某個表某個列中所有數據

scan "表名稱" , ['列名稱:']

更新記錄

就是重寫一遍進行覆蓋

下面是一些常見命令的說明,在hbaseshell中輸入help的幫助信息,在本文中,我們先介紹前3個,后面2個,將在下一篇博文中介紹。

COMMAND GROUPS:

Group name: general

Commands: status, version

Group name: ddl

Commands: alter, create, describe, disable,drop, enable, exists, is_disabled, is_enabled, list

Group name: dml

Commands: count, delete, deleteall, get,get_counter, incr, put, scan, truncate

Group name: tools

Commands: assign, balance_switch, balancer,close_region, compact, flush, major_compact, move, split, unassign, zk_dump

Group name: replication

Commands: add_peer, disable_peer,enable_peer, remove_peer, start_replication, stop_replication

一、一般操作

1.查詢服務器狀態

hbase(main):024:0>status

3 servers, 0 dead,1.0000 average load

2.查詢Hive版本

hbase(main):025:0>version

0.90.4, r1150278,Sun Jul 24 15:53:29 PDT 2011

二、DDL操作

1.創建一個表

hbase(main):011:0>create 'member','member_id','address','info'

0 row(s) in 1.2210seconds

2.獲得表的描述

hbase(main):012:0>list

TABLE

member

1 row(s) in 0.0160seconds

hbase(main):006:0>describe 'member'

DESCRIPTION??????????????????????????????????????????????????????????????????????????????????????????ENABLED

{NAME => 'member', FAMILIES => [{NAME=> 'address', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', true

VERSIONS => '3', COMPRESSION => 'NONE',TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'fa

lse', BLOCKCACHE => 'true'}, {NAME =>'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSI

ONS => '3', COMPRESSION => 'NONE', TTL=> '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false',

BLOCKCACHE => 'true'}]}

1 row(s) in 0.0230seconds

3.刪除一個列族,alter,disable,enable

我們之前建了3個列族,但是發現member_id這個列族是多余的,因為他就是主鍵,所以我們要將其刪除。

hbase(main):003:0>alter 'member',{NAME=>'member_id',METHOD=>'delete'}

ERROR: Table memberis enabled. Disable it first before altering.

報錯,刪除列族的時候必須先將表給disable掉。

hbase(main):004:0>disable 'member'

0 row(s) in 2.0390seconds

hbase(main):005:0>alter'member',{NAME=>'member_id',METHOD=>'delete'}

0 row(s) in 0.0560seconds

hbase(main):006:0>describe 'member'

DESCRIPTION??????????????????????????????????????????????????????????????????????????????????????????ENABLED

{NAME => 'member', FAMILIES => [{NAME=> 'address', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',false

VERSIONS => '3', COMPRESSION => 'NONE',TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'fa

lse', BLOCKCACHE => 'true'}, {NAME =>'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSI

ONS => '3', COMPRESSION => 'NONE', TTL=> '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false',

BLOCKCACHE => 'true'}]}

1 row(s) in 0.0230seconds

該列族已經刪除,我們繼續將表enable

hbase(main):008:0> enable 'member'

0 row(s) in 2.0420seconds

4.列出所有的表

hbase(main):028:0>list

TABLE

member

temp_table

2 row(s) in 0.0150seconds

5.drop一個表

hbase(main):029:0>disable 'temp_table'

0 row(s) in 2.0590seconds

hbase(main):030:0>drop 'temp_table'

0 row(s) in 1.1070seconds

6.查詢表是否存在

hbase(main):021:0>exists 'member'

Table member doesexist

0 row(s) in 0.1610seconds

7.判斷表是否enable

hbase(main):034:0>is_enabled 'member'

true

0 row(s) in 0.0110seconds

8.判斷表是否disable

hbase(main):032:0>is_disabled 'member'

false

0 row(s) in 0.0110seconds

三、DML操作

1.插入幾條記錄

put'member','scutshuxue','info:age','24'

put'member','scutshuxue','info:birthday','1987-06-17'

put'member','scutshuxue','info:company','alibaba'

put'member','scutshuxue','address:contry','china'

put'member','scutshuxue','address:province','zhejiang'

put'member','scutshuxue','address:city','hangzhou'

put'member','xiaofeng','info:birthday','1987-4-17'

put'member','xiaofeng','info:favorite','movie'

put'member','xiaofeng','info:company','alibaba'

put'member','xiaofeng','address:contry','china'

put'member','xiaofeng','address:province','guangdong'

put'member','xiaofeng','address:city','jieyang'

put'member','xiaofeng','address:town','xianqiao'

2.獲取一條數據

獲取一個id的所有數據

hbase(main):001:0>get 'member','scutshuxue'

COLUMN?????????????????????????????????? CELL

address:city???????????????????????????timestamp=1321586240244, value=hangzhou

address:contry?????????????????????????timestamp=1321586239126, value=china

address:province???????????????????????timestamp=1321586239197, value=zhejiang

info:age???????????????????????????????timestamp=1321586238965, value=24

info:birthday??????????????????????????timestamp=1321586239015, value=1987-06-17

info:company???????????????????????????timestamp=1321586239071, value=alibaba

6 row(s) in 0.4720seconds

獲取一個id,一個列族的所有數據

hbase(main):002:0>get 'member','scutshuxue','info'

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321586238965, value=24

info:birthday??????????????????????????timestamp=1321586239015, value=1987-06-17

info:company???????????????????????????timestamp=1321586239071, value=alibaba

3 row(s) in 0.0210seconds

獲取一個id,一個列族中一個列的所有數據

hbase(main):002:0>get 'member','scutshuxue','info:age'

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321586238965, value=24

1 row(s) in 0.0320seconds

6.更新一條記錄

將scutshuxue的年齡改成99

hbase(main):004:0>put 'member','scutshuxue','info:age' ,'99'

0 row(s) in 0.0210seconds

hbase(main):005:0>get 'member','scutshuxue','info:age'

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321586571843, value=99

1 row(s) in 0.0180seconds

3.通過timestamp來獲取兩個版本的數據

hbase(main):010:0>get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321586238965, value=24

1 row(s) in 0.0140seconds

hbase(main):011:0>get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586571843}

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321586571843, value=99

1 row(s) in 0.0180seconds

4.全表掃描:

hbase(main):013:0>scan 'member'

ROW?????????????????????????????????????COLUMN+CELL

scutshuxue?????????????????????????????column=address:city, timestamp=1321586240244, value=hangzhou

scutshuxue?????????????????????????????column=address:contry, timestamp=1321586239126, value=china

scutshuxue?????????????????????????????column=address:province, timestamp=1321586239197, value=zhejiang

scutshuxue????????????????????????????? column=info:age,timestamp=1321586571843, value=99

scutshuxue?????????????????????????????column=info:birthday, timestamp=1321586239015, value=1987-06-17

scutshuxue?????????????????????????????column=info:company, timestamp=1321586239071, value=alibaba

temp???????????????????????????????????column=info:age, timestamp=1321589609775, value=59

xiaofeng???????????????????????????????column=address:city, timestamp=1321586248400, value=jieyang

xiaofeng???????????????????????????????column=address:contry, timestamp=1321586248316, value=china

xiaofeng???????????????????????????????column=address:province, timestamp=1321586248355, value=guangdong

xiaofeng???????????????????????????????column=address:town, timestamp=1321586249564, value=xianqiao

xiaofeng???????????????????????????????column=info:birthday, timestamp=1321586248202, value=1987-4-17

xiaofeng???????????????????????????????column=info:company, timestamp=1321586248277, value=alibaba

xiaofeng???????????????????????????????column=info:favorite, timestamp=1321586248241, value=movie

3 row(s) in 0.0570seconds

5.刪除id為temp的值的‘info:age’字段

hbase(main):016:0>delete 'member','temp','info:age'

0 row(s) in 0.0150seconds

hbase(main):018:0>get 'member','temp'

COLUMN?????????????????????????????????? CELL

0 row(s) in 0.0150seconds

6.刪除整行

hbase(main):001:0>deleteall 'member','xiaofeng'

0 row(s) in 0.3990seconds

7.查詢表中有多少行:

hbase(main):019:0>count 'member'

2 row(s) in 0.0160seconds

8.給‘xiaofeng’這個id增加'info:age'字段,并使用counter實現遞增

hbase(main):057:0*incr 'member','xiaofeng','info:age'

COUNTER VALUE = 1

hbase(main):058:0>get 'member','xiaofeng','info:age'

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321590997648, value=\x00\x00\x00\x00\x00\x00\x00\x01

1 row(s) in 0.0140seconds

hbase(main):059:0>incr 'member','xiaofeng','info:age'

COUNTER VALUE = 2

hbase(main):060:0>get 'member','xiaofeng','info:age'

COLUMN?????????????????????????????????? CELL

info:age???????????????????????????????timestamp=1321591025110, value=\x00\x00\x00\x00\x00\x00\x00\x02

1 row(s) in 0.0160seconds

獲取當前count的值

hbase(main):069:0>get_counter 'member','xiaofeng','info:age'

COUNTER VALUE = 2

9.將整張表清空:

hbase(main):035:0>truncate 'member'

Truncating 'member'table (it may take a while):

- Disabling table...

- Dropping table...

- Creating table...

0 row(s) in 4.3430seconds

可以看出,hbase是先將掉disable掉,然后drop掉后重建表來實現truncate的功能的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,739評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,634評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,653評論 0 377
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,063評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,835評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,235評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,315評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,459評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,000評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,819評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,004評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,560評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,257評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,676評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,937評論 1 288
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,717評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,003評論 2 374

推薦閱讀更多精彩內容