hbase的數(shù)據(jù)模型
行鍵宵晚,時間戳垂攘,列簇。
列簇是表schema的一部分淤刃,而列不是晒他,所以動態(tài)加列可以不用改變表結(jié)構(gòu)。每一個列簇生成一個文件逸贾,就相當(dāng)于做了分表陨仅。
cell:由rowkey、columnfamily铝侵、version唯一確定的單元灼伤。里面的數(shù)據(jù)是沒有類型的,全部都是字節(jié)碼形式存儲咪鲜。
TimeStamp:每個cell中保存著同一個數(shù)據(jù)的多個版本狐赡,版本通過時間戳索引。用戶不創(chuàng)建系統(tǒng)也會自動創(chuàng)建疟丙。
rowkey:用來檢索記錄的主鍵颖侄。
hbase命令
hbase shell
(這里打字不可以刪除很煩)
help(查看幫助文檔)
list(查看所有的表)
create 'user','info1','info2'(表名鸟雏,列簇)
describe 'user'
exists 'user'
刪除表:
disable 'user'
is_enabled 'user'
drop user
hbase增刪改查:
hbase中更新記錄就是重寫一遍,沒有修改览祖,都是追加孝鹊。相同的id重新對某列進行添加就是修改了。
put 'user','1','info1:name','guo'
scan 'user'(查看整個表的信息)
put 'user','2','info1:name','guo'
put 'user','2','info2:age','100'
get 'user','2'
get 'user','2','info1:name'
count 'user'(查看記錄的條數(shù))
delete 'user','2','info1:name'
deleteall 'user','2'
truncate 'user'(清空展蒂,truncate=drop+create)
hbase依賴zookeeper
bin/zkCli.sh
ls /
[hbase, zookeeper]
ls /hbase
[meta-region-server, backup-masters, table, draining, region-in-transition, running, table-lock, master, namespace, hbaseid, online-snapshot, replication, splitWAL, recovering-regions, rs, flush-table-proc]
ls /hbase/table
[hbase:meta, hbase:namespace]
zookeeper幾個端口的意義:2181又活,訪問端口。2888玄货,數(shù)據(jù)同步端口皇钞。3888,同步心跳端口松捉。
hbase查詢數(shù)據(jù)通過zookeeper(有點類似于namenode)夹界。Hmaster不做數(shù)據(jù)管理。