如何將關係型資料錶轉換至hbase資料表,hbase

來源:互聯網
上載者:User

如何將關係型資料錶轉換至hbase資料表,hbase

  首先需要把關係型資料庫的資料表的資料增加由“縱向延伸”,轉變為HBase資料表的“橫向延伸”

一、Hbase的儲存結構

a)     HBase以表(HTable)的形式儲存資料

b)    HTable包括很多行,每行通過RowKey唯一標記,行按照RowKey的字典序排列,表在行的方向上分割為多個HRegion

c)     每行包括一個RowKey和多個Column Family,資料按照Column Family進行物理切割,即不同Column Family的資料放在不同的Store中,一個Column Family放在一個Strore中

d)    HRegion由多個Store組成。一個Store由物理上存在的一個MemStrore(記憶體中)和多個StoreFile(HFile)中

二、設計原則:

(1)rowkey

a)     rowkey是hbase的key-value儲存中的key,通常使用使用者要查詢的欄位作為rowkey查詢結果作為valueHBase中RowKey是按照字典序排列的

(2)Column Family的設計需遵循:

a)    不同Column Family的資料,在物理上是分開的,盡量避免一次請求需要拿到的Column分布在不同的Column Family中;

b)    CF的數量盡量要少,原因是過多的columnfamily之間會互相影響

(3) column

對於column需要擴充的應用,column可以按普通的方式設計,但是對於列相對固定的應用,最好採用將一行記錄封裝到一個column中的方式,這樣能夠節省儲存空間。封裝的方式推薦protocolbuffer。

三、參考例子:

(1)   Oracle關係資料表有100億車連網監控資料

<car_id,x,y,create_at,org_id,type>其中x表示經度,y表示緯度,creat_at:建立時間,type:1表示警示點,2表示正常點,org_id:組織機構id

需要支援:a、查詢指定天指定車輛的軌跡,b、下載指定天指定單位所有警示點,

給出一種hbase的表結構

rowkey

ColumnFamily

car_id+create_at+org_id+type

地點1(x,y)

地點2(x,y)

 

http://blog.csdn.net/kirayuan/article/details/7441111

http://wwwcomy.iteye.com/blog/1771285

http://www.open-open.com/lib/view/open1417612091323.html

相關文章

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.