HBase 學習之一 <<HBase使用客戶端API動態建立Hbase資料表並在Hbase下匯出執行>>

木子小僧發表於2016-05-24

HBase使用客戶端API動態建立Hbase資料表並在Hbase下匯出執行

                      ----首先感謝網路能夠給我提供一個開放的學習平臺,如果沒有網上的技術愛好者提供的幫助,很難學好hbase。

一、hbase簡介

       官方:HBase – Hadoop Database,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構儲存叢集。

       自己的理解:hbase其實就是一個在hadoop基礎上的一個資料庫,執行在HDFS檔案系統之上,特點是一個基於記憶體面向列的資料庫。

        hbase架構圖

       

二、Hbase資料模型

  1、概念圖

  基於Google的bigtable模型(key-value對)

  

 

  2、邏輯檢視

  網上查了一些資料,舉一個例子來說說我的理解吧。

row key data
wangsan

info:{'height:178','sex:boy'}

message:{'tpl:18363636363','email:1@qq.com'}

lisi

info:{'height:176','sex:gril'}

message:{'tpl:18363636364','email:2@qq.com'}

 

 

      

 

 

 

  3、hbase的key和列族

      與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。

  

 

  1)每行都有row key。

  2)每條記錄分隔成列族集合。

  3)每個列族由若干列組成。

三、API操作

建立一個表test,首先匯入jar包,在hive的安裝目錄下的lib中去找就可以了。

public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
        // TODO Auto-generated method stub
        Configuration con = HBaseConfiguration.create();
        HBaseAdmin admin = new HBaseAdmin(con);
        
        TableName name = TableName.valueOf("test");
        
        HTableDescriptor descriptor = new HTableDescriptor(name);
        
        HColumnDescriptor columnDescriptor = new HColumnDescriptor("data");
        descriptor.addFamily(columnDescriptor);
        
        admin.createTable(descriptor);
        
        System.out.println("create ok");
    }

將程式匯出成jar檔案,放到Linux系統中的新建目錄/opt/bin/hbase中吧。

首先:執行下面兩部操作。

執行jar檔案。

test表建立成功。

hbase shell指令。

執行list指令,就可以看到hbase下面新建號的test表。

相關文章