HBase Shell 基本的增刪改查CRUD操作

來源:互聯網
上載者:User

1.   1 HBase 命令模式

HBase shell 命令提供了一個TAB鍵完成指令。

$ hbase shell

進入shell 命令模式後,可以使用HBase shell 命令來操作資料。

將一個hbase日誌日期'08/08/16 20:56:29'轉化為一個timestamp,可以這樣得到:

hbase(main):021:0> import java.text.SimpleDateFormathbase(main):022:0> import java.text.ParsePositionhbase(main):023:0>SimpleDateFormat.new("yy/MM/ddHH:mm:ss").parse("08/08/16 20:56:29",ParsePosition.new(0)).getTime()


 => 1218920189000


反之,通過類似操作也可以得到。

hbase(main):021:0> import java.util.Datehbase(main):022:0> Date.new(1218920189000).toString()


=>"Sat Aug 16 20:56:29 UTC 2008"


1.2 常用的HBase Shell命令

1.2.1建立表

建立一個表car, 命名一個column family 為 exp(expensive 的縮寫)。

hbase(main):020:0>create 'car', 'exp'


1.2.2插入資料

插入三個資料,製造商、模型和生產日期。具體的命令如下:

put 'car','row1','exp:make', 'bmw'put 'car', 'row1', 'exp:model', ' 5 series'put'car', 'row1', 'exp:year', '2012-12-20' put 'car', 'row2', 'exp:make', 'benz'put 'car', 'row2', 'exp:model', 'c200'put 'car', 'row2', 'exp:year', '2013'


1.2.3查詢

    查詢所有指定的結果,使用scan加上具體的修飾語句。

             hbase(main):043:0> scan 'car', {COLUMNS =>['exp:make']}


如果需要限定只返回一個行的資料,可以這樣實現:

hbase(main):044:0> scan 'car', {COLUMNS=> ['exp:make'], LIMIT => 1}


NOTES: hbase shell 的命令區分大小寫,如COLUMNS, LIMIT等關鍵字。

擷取到某一行,使用get命令,具體指令如下:

hbase(main):045:0> get 'car', 'row1'COLUMN                CELL                                                      exp:make             timestamp=1363919137232,value=bmw                        exp:model            timestamp=1363919183289, value= 5series                  exp:year             timestamp=1363919193544,value=2012-12-20


1.2.4刪除

刪除cell資料,指定到具體的column名稱。

hbase(main):047:0>delete 'car', 'row1', 'exp:year'


檢測一下具體的資料內容,可以看到資料已經刪除。

hbase(main):048:0> get 'car' , 'row1'COLUMN                CELL                                                      exp:make             timestamp=1363919137232,value=bmw                        exp:model            timestamp=1363919183289, value= 5series


刪除table, 需要運行如下命令:

  hbase(main):050:0>disable 'car'0 row(s) in 2.0460 seconds    hbase(main):052:0> drop 'car'0 row(s) in 1.0410 seconds


查看錶單,發現確實刪除了。

hbase(main):053:0> listTABLE                                                                          mytable                                                                        1 row(s) in 0.0100 seconds


當不清楚某個命令是,使用help協助命令.


NOTES:轉載請註明出處,謝謝。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.