1. 程式人生 > >HBase 表結構 學習篇 (三)

HBase 表結構 學習篇 (三)

HBase 它是建立在Hadoop檔案系統(HDFS)之上的分散式面向列的資料庫。提供對資料的隨機實時讀/寫訪問。在表中由行排序,表模式定義只能是列族,也就是鍵值對。一個表格有多個列族以及每個列族可以有任意數量的列。後續列的值連續地儲存在磁碟上,表中每個單元格都具有時間戳。

一、HBase 主要用來儲存大量資料(海量)。先使用shell命令建立表格:

1.建立表 lxp 和兩個列族cf1和cf2

命令:create 'lxp'  ,{NAME=>'cf1'},{NAME=>'cf2'}

通過web埠可以檢視到剛建的表和列族

2. 向表中新增資料

這樣一個基本的表格就完成了,但是因為HBase是非關係型資料庫,所以理解起來不太方便。那就按照剛建的表畫張圖吧,這樣也便於理解。

3.根據表畫圖

表有兩個列族,cf1和cf2,其中cf1和cf2下分別對應下面的列name和age,sex和height (後面還有一個預設的TimeStamp(時間戳)列,每一個TimeStamp都是與列繫結的)

4.使用 scan 'lxp'查看錶中的所有資料,再來感受一下。

二、相同的RowKey

如果我們再向lxp表中插入一條資料,如下圖所示:

 時間戳為T2的資料並不會覆蓋時間戳為T1的那條資料,(剛開始理解錯誤,還好黃兄指導)

其實上面的表格也可以這麼來畫

 三、最後附一下:shell 常用命令

操作

命令表示式

注意

 

建立表

create 'table_name, 'family1','family2','familyN'

 

 

新增記錄      

put 'table_name', 'rowkey', 'family:column', 'value'

 

 

檢視記錄

get 'table_name', 'rowkey'   

查詢單條記錄,也是hbase 最常用的命令

 

查看錶中的記錄總數

count  'table_name'

這個命令並不快,且目前沒有找到更快的方式統計行數

 

刪除記錄

delete 'table_name' ,'rowkey','family_name:column'
deleteall 'table_name','rowkey'

第一種方式刪除一條記錄單列的資料
第二種方式刪除整條記錄

 
 

 

刪除一張表

1disable 'table_name' 

   

 

2drop 'table_name'

 

 

檢視所有記錄

scan "table_name" ,{LIMIT=>10}

LIMIT=>10 只返回10條記錄,否則將全部展示

 

 

 

 

 

 

 

總結:

好好學習,天天向上!