怎樣將關系型數據表轉換至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(內存中)和多個StoreFileHFile)中

二、設計原則:

(1)rowkey

a)      rowkeyhbasekey-value存儲中的key。通常使用用戶要查詢的字段作為rowkey 查詢結果作為value HBaseRowKey是依照字典序排列的

(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:創建時間。type1表示報警點。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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM