hbase中的表示按column family來儲存的
建立乙個有3個column family的表
create 't1', , ,
定義表的時候只需要指定column family的名字,列名在put的時候動態指定
插入資料
下面插入沒有指定column的名字
put 't1', 'r1', 'f1', 'v1'
put 't1', 'r2', 'f2', 'v2'
put 't1', 'r3', 'f3', 'v3'
下面插入指定column的名字
put 't1', 'r4', 'f1:c1', 'v1'
put 't1', 'r5', 'f2:c2', 'v2'
put 't1', 'r6', 'f3:c3', 'v3'
hbase(main):245:0> scan 't1'
row column+cell
r1 column=f1:, timestamp=1335407967324, value=v1
r2 column=f2:, timestamp=1335408004559, value=v2
r4 column=f1:c1, timestamp=1335408640777, value=v1
r5 column=f2:c1, timestamp=1335408640822, value=v2
r6 column=f1:c6, timestamp=1335412392258, value=v3
r6 column=f2:c1, timestamp=1335412384739, value=v3
r6 column=f2:c2, timestamp=1335412374797, value=v3
插入多列的資料
put 't1', 'r7', 'f1:c4', 'v9'
put 't1', 'r7', 'f2:c3', 'v9'
put 't1', 'r7', 'f3:c2', 'v9'
手工把memstore寫到hfile中
flush 't1'
刪除所有cf3的資料
deleteall 't1','r7'
flush 't1'
每次flash都會建乙個新的hfile
$ ../bin/hadoop dfs -lsr /hbase/t1
資料時直接存到cf目錄下的,每個cf目錄下有3到4個hfile
f1f1/098a7a13fa53415b8ff7c73d4d69c869
f1/321c6211383f48dd91e058179486587e
f1/9722a9be0d604116882115153e2e86b3
f2f2/43561825dbde4900af4fb388040c24dd
f2/93a20c69fdec43e8beeed31da8f87b8d
f2/b2b126443bbe4b6892fef3406d6f9597
f3f3/98352b1b34e242ecac72f5efa8f66963
f3/e76ed1b564784799affa59fea349e00d
f3/f9448a9a381942e7b785e0983a66f006
f3/fca4c36e48934f2f9aaf1a585
c237d44
f3都資料雖然都被刪除了,由於沒有合併檔案都存在
手工合併hfile
hbase(main):244:0> compact 't1'
0 row(s) in 0.0550 seconds
$ ../bin/hadoop dfs -lsr /hbase/t1
f1f1/00c05ba881a14ca0bdea55ab509c2327
f2f2/95fbe85769d64fc4b291cabe73b1ddb2
/f3
f1和f2下就只有乙個hfile,f3下面沒有hfile因為資料都被刪除了
一次只能put乙個column
一次只能delete乙個column
刪除整行,用deleteall
deleteall 't1', 'r1'
HBase資料儲存
hbase的資料檔案都儲存在hdfs上,格式主要有兩種 hfile hbase中keyvalue資料的儲存格式,hfile是hadoop的二進位制檔案,實際上storefile就是對hfile做了輕量級的包裝,即storefile底層就是hfile hlog file hbase中wal write...
HBASE 資料儲存實踐
hbase 來自hadoop database 是乙個很好的bigtable的實現,能夠儲存上百億行和百萬列的資料,是乙個高可靠性 高效能 面向列 可伸縮的分布式儲存系統。hbase的基本架構組成如下 hbase使用zookeeper作為協調服務,每個時刻只有乙個hmaster在執行,hmaster...
Hadoop資料儲存 Hbase
大家都知道hadoop是乙個資料庫,其實說的的就是hbase。它和我們平常理解的關係型資料庫有什麼區別呢?1.它是nosql的,它沒有sql的介面,有自己的一套api。通過以上描述,我們分析一下hbase的特點 1 儲存海量資料 pb 2 高吞吐 每秒每個節點上千次寫 3 適合處理稀疏資料 半結構化...