HBase筆記整理(一)

2021-10-04 11:46:44 字數 2294 閱讀 2293

表(table)

劃分資料集合的概念,和傳統的db中的表的概念是一樣的。

行鍵(rowkey):

一行資料的唯一標示,要想操作(read/write)一條資料,必須通過行鍵,其在hbase底層都是使用位元組陣列進行存放,

所以方便我們使用rk進行排序,

行鍵是位元組陣列, 任何字串都可以作為行鍵;表中的行根據行鍵進行排序,資料按照row key的位元組序(byte order)排序儲存;

所有對錶的訪問都要通過行鍵 (單個rowkey訪問,或rowkey範圍訪問,或全表掃瞄)。

列族(columnfamily)

簡單的認為是一系列「列」的集合。列族是以單獨的檔案進行儲存。

列限定符(column qualifier)

或者叫列。列裡面的資料定位通過列限定符 每個cf可以有乙個或多個列成員(columnqualifier),

列成員不需要在表定義時給出,新的列族成員可以隨後按需、動態加入。時間戳(version)

在單元格中可以存放多個版本的資料。

單元格(cell)

cell 由行鍵,列族:限定符,時間戳唯一決定,cell中的資料是沒有型別的,全部以位元組碼形式存貯,主要用來儲存資料。

表(table)

hbase 會將資料組織進一張張的表裡面,乙個 hbase 表由多行組成。

行(row)

hbase 中的一行包含乙個行鍵和乙個或多個與其相關的值的列。在儲存行時,行按字母順序排序。出於這個原因,行鍵的設計非常重要。目標是以相關行相互靠近的方式儲存資料。常用的行鍵模式是**域。如果你的行鍵是網域名稱,則你可能應該將它們儲存在相反的位置(org.apache.www,org.apache.mail,org.apache.jira)。這樣,表中的所有 apache 域都彼此靠近,而不是根據子域的第乙個字母分布。

列(column)

hbase 中的列由乙個列族和乙個列限定符組成,它們由:(冒號)字元分隔。

列族(column family)

出於效能原因,列族在物理上共同存在一組列和它們的值。在 hbase 中每個列族都有一組儲存屬性,例如其值是否應快取在記憶體中,資料如何壓縮或其行編碼是如何編碼的等等。表中的每一行都有相同的列族,但給定的行可能不會在給定的列族中儲存任何內容。

列族一旦確定後,就不能輕易修改,因為它會影響到 hbase 真實的物理儲存結構,但是列族中的列標識(column qualifier)以及其對應的值可以動態增刪。

列限定符(column qualifier)

列限定符被新增到列族中,以提供給定資料段的索引。鑑於列族的content,列限定符可能是content:html,而另乙個可能是content:pdf。雖然列族在建立表時是固定的,但列限定符是可變的,並且在行之間可能差別很大。

單元格(cell)

單元格是行、列族和列限定符的組合,並且包含值和時間戳,它表示值的版本。

時間戳(timestamp)

時間戳與每個值一起編寫,並且是給定版本的值的識別符號。預設情況下,時間戳表示寫入資料時 regionserver 上的時間,但可以在將資料放入單元格時指定不同的時間戳值。

本節的示例是根據  bigtable **進行稍微修改後的示例。在本節的示例中有乙個名為表 webtable,其中包含兩行(com.cnn.www 和 com.example.www)以及名為 contents、anchor 和 people 的三個列族。在本例中,對於第一行(com.cnn.www), anchor 包含兩列(anchor:cssnsi.com,anchor:my.look.ca),並且 contents 包含一列(contents:html)。本示例包含具有行鍵 com.cnn.www 的行的5個版本,以及具有行鍵 com.example.www 的行的乙個版本。contents:html 列限定符包含給定**的整個 html。錨(anchor)列族的限定符每個包含與該行所表示的站點鏈結的外部站點以及它在其鏈結的錨點(anchor)中使用的文字。people 列族代表與該**相關的人員。

列名稱:按照約定,列名由其列族字首和限定符組成。例如,列內容: html 由列族contentshtml限定符組成。冒號字元(:)從列族限定符分隔列族。

webtable 表如下所示:

此表中顯示為空的單元格在 hbase 中不占用空間或實際上存在。這正是使 hbase 「稀疏」的原因。 

HBase學習筆記整理

一 啟動hadoop和hbase 進入hadoop目錄,啟動hadoop 進入hbase目錄,啟動hbase 二 利用shell命令使用hbase 通過hbase shell命令進入shell介面 建立表,設定列族 create 表名 列族名1 列族名2 列族名n 新增資料 put 表名 行鍵 列族...

HBase學習筆記(一) 《HBase簡介》

hbase簡介 1 hbase表的結構 hbase以表 table 的形式儲存資料 row key 行鍵 與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。row key行鍵 row key 可以是任意字串 最大長度是 64kb,實際應用中長度一般為 10 100bytes 在hbase...

Hbase 學習筆記 Hbase 概覽

hbase構建在 hdfs 之上,hbase內部管理的檔案全部儲存在hdfs 中 行鍵,table的主鍵,table中的記錄按照row key排序。型別為byte array 列簇,table在水平方向有乙個或者多個column family組成,乙個column family中可以由任意多個col...