1. 程式人生 > >HBase基本操作-shell使用

HBase基本操作-shell使用

  • 這篇在學習之前,需要搭建好HBase叢集,當你的叢集搭建好了,那麼就開始學習HBase的shell操作把~
  • 這篇文章將只會介紹使用頻率最高的shell命令,這些沒有什麼難度,只是一些熟練問題,我的HBase版本是2.1.1
  • 進入HBase的命令列的命令是HBase shell
  • 檢視HBase shell中命令幫助的命令是help 'xxx'

create建表

  • 前一篇文章說過了,建表必須指定列族這件事是不能忘的,比如建立一個名為test的表,表中有一個列族名為cf

    hbase(main):029:0> create 'test','cf'
    Created table test
    Took 1.2710 seconds      
    => Hbase::Table - test
  • 所以也證實了之前說的必須有列族的指定,如果不加會報錯的,列是依附於列族上的

markdown_img_paste_20181201191450333

  • 以上建立方式只是指定了列族而沒有指定列族內的列,為什麼不用指定列呢?

    • HBase不像RDBMS一樣在建表的時候就必須指定列,因為RDBMS的資料需要有地方放,如果RDBMS不指定列,那麼他一個表還有什麼?他的資料往哪裡放?但是在HBASE中列是相當靈活的,如果你現在不懂什麼意思也沒關係,下面shell操作會說明這一切.HBase中的列只有在你需要插入資料的時候才會生成,不過確切地說不能叫“生成”,因為並沒 有生成列定義之類的操作(意思是如果你建表,會有建表的操作以及表的定義但是列是沒有的).你只是向HBase中插入了一個單元格,而這 個單元格是由表:列族:行:列來定位的,列名就成為了cell的屬性名,這才讓這行資料有了一個列,而別的行有沒有這一列,HBase只有遍歷的時候才會知道,如果還是不知道怎麼回事,下面在介紹put的時候我會畫一張圖說明一下