HBase

HBase單機模式

 1)安裝JDKhtml

2)解壓  java

  $ tar xfz hbase-0.90.4.tar.gzshell

  $ cd hbase-0.90.4apache

3)修改HBase配置文件緩存

  一、 hbase-env.sh分佈式

    取消配置JDK的註釋並作並以下修改(個人JDK安裝路徑):ui

    export JAVA_HOME=/usr/Java/jdk1.6.0_27/編碼

  二、 hbase-site.xmlspa

    由於是單機啓動,因此只設定了HBase寫入的本地路徑,修改以下:.net

    <?xml version="1.0"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    <configuration>

      <property>

        <name>hbase.rootdir</name>

        <value>/home/hbase</value>

      </property>

    </configuration>

4)啓動hbase

   bin/start-hbase.sh

 

shell實踐

$ ./bin/hbase shell
hbase(main):008:0> create 'test','cf'  //建立表名及列族名
0 row(s) in 8.7610 seconds

hbase(main):009:0> list 'test'
TABLE                                                                                                                                                                                                             
test                                                                                                                                                                                                              
1 row(s) in 0.2100 seconds

hbase(main):010:0> put 'test', 'row1', 'cf:a', 'value1'    插入數據
0 row(s) in 0.7100 seconds

hbase(main):011:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.1020 seconds

hbase(main):012:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.2550 seconds

hbase(main):013:0> scan 'test'
ROW                                                   COLUMN+CELL                                                                                                                                                 
 row1                                                 column=cf:a, timestamp=1493985320734, value=value1                                                                                                          
 row2                                                 column=cf:b, timestamp=1493985332454, value=value2                                                                                                          
 row3                                                 column=cf:c, timestamp=1493985346697, value=value3                                                                                                          
3 row(s) in 0.4810 seconds

hbase(main):014:0> cretae 
NameError: undefined local variable or method `cretae' for #<Object:0x3fa76c61>

hbase(main):015:0> create 'newTable' ,'a','b','c'
0 row(s) in 1.6750 seconds

hbase(main):016:0> put 'newTable','row1','a:1','A'
0 row(s) in 0.2150 seconds

hbase(main):017:0> scan 'newTable'
ROW                                                   COLUMN+CELL                                                                                                                                                 
 row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
1 row(s) in 0.1340 seconds

hbase(main):018:0> put 'newTable','row1','a:2','A2'
0 row(s) in 0.0430 seconds

hbase(main):019:0> scan 'newTable'
ROW                                                   COLUMN+CELL                                                                                                                                                 
 row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
 row1                                                 column=a:2, timestamp=1493985663261, value=A2                                                                                                               
1 row(s) in 0.1680 seconds

hbase(main):020:0> put 'newTable','row1','b:2','B2'
0 row(s) in 0.0700 seconds

hbase(main):021:0> scan 'newTable'
ROW                                                   COLUMN+CELL                                                                                                                                                 
 row1                                                 column=a:1, timestamp=1493985596005, value=A                                                                                                                
 row1                                                 column=a:2, timestamp=1493985663261, value=A2                                                                                                               
 row1                                                 column=b:2, timestamp=1493985694548, value=B2                                                                                                               
1 row(s) in 0.1370 seconds

hbase(main):022:0> disable 'test'     表失效
0 row(s) in 2.1170 seconds

hbase(main):023:0> drop 'test'        刪除表
0 row(s) in 2.1620 seconds

hbase(main):024:0> list 'test'
TABLE                                                                                                                                                                                                             
0 row(s) in 0.1080 seconds

hbase(main):025:0> quit   退出shell

 關閉hbase    

  $ ./bin/stop-hbase.sh

僞分佈式及全分佈式模式

參考官網:http://hbase.apache.org/book.html#_architecture

HBase數據模型

在hbase中,數據被存儲在表中,表中有行及字段,hbase更像是一個多維的map。

包含有多個行。

hbase中行包含一個key和至少一個字段及相關值,row key按照字母排序保證相關row就近存儲。大部分狀況下row key按照域名存儲。

字段

包含一個列族和一個列的修飾,如cf:a

列族 Column Family

包含了一系列相關字段及值,方便配置是否將其值放入緩存,壓縮,以及編碼row key。

Column Qualifier

追加到列族的後面,每行的Column Qualifier都是易變的。

cell

表明值得版本,由row key ,Column Family ,Column Qualifier,value以及timestamp組成。

timestamp

指定value版本,當put新值時隨之改變。

 

java操做Hbase

http://www.cnblogs.com/ylqmf/archive/2012/02/18/2357537.html

 

 

 

參考:http://blog.csdn.net/god_wot/article/details/6829427

官網:http://hbase.apache.org/book.html#_architecture

相關文章
相關標籤/搜索