1. 程式人生 > >注意區分HBase與Hive之間的定義和區別

注意區分HBase與Hive之間的定義和區別

HBase
              官方定義:

                             Apache HBase™是Hadoop資料庫,是一個分散式,可擴充套件的大資料儲存。

                         當您需要對大資料進行隨機,實時讀/寫訪問時,請使用Apache HBase™,Apache HBase是一個開源的,分散式的,      版本化的非關係資料庫,

Hive
             官方定義:

                             Apache Hive™資料倉庫軟體有助於使用SQL讀取,編寫和管理駐留在分散式儲存中的大型資料集。可以將結                構 投 影到已存 儲的資料中。提供了命令列工具和JDBC驅動程式以將使用者連線到Hive。離線處理。
 

HBase相關概念:

HBase相關概念簡介
---------------------------------------
    1.Configuration描述:
        HBase採用hadoop中的Configuration物件來載入配置檔案資訊;
    2.HMaster作用:
       a.監控叢集中所有的regionserver;
       b.對元資料操作進行管理;
       c.通常情況下,HMaster和NameNode在一個節點上;
       d.管理regionserver的故障轉移和region分割槽;
          表級操作:Table (createTable, modifyTable, removeTable, enable, disable)
	  列簇操作:ColumnFamily (addColumn, modifyColumn, removeColumn)
	  分割槽操作:Region (move, assign, unassign)
	  負載均衡:LoadBalancer
    3.RegionServer作用:
       a.負責服務和管理region;
       b.通常情況下,HRegionServer和DataNode在一個節點上;
       c.MemStore刷盤操作;
       d.WAL(Write-ahead-log):寫前日誌
          資料操作:Data (get, put, delete, next, etc.)
          分割槽操作:Region (splitRegion, compactRegion, etc.)
       e.minor和major
    4.MemStore說明:
       a.每一個region可能存在一個或多個MemStore,每個MemStore對應著當前表的當前區域的一個列簇;
       b.如果達到刷盤條件,寫入到磁碟中:StoreFile(HFile)

Hive相關概念::
 

 1.  hive是資料倉庫,在Hadoop基礎上處理結構化資料;它駐留在hadoop之上,使用者對資料的統計、查詢和簡單的分析操作;
 2.表模型儲存在database(關係型)中,處理的資料儲存在HDFS上;
 3.元資料 :hive選擇獨立的的資料庫(MySQL)用於儲存metadata,元資料包含:表的資訊、databases資訊、表的列資訊、欄位型別資訊和HDFS mapping(對映);
 4. hive不是: 
        a.關係型資料庫;
        b.OLTP
        c.實時查詢和行級更新操作
5.儲存格式多種,可支援Text,SequenceFile,ParquetFile,RCFILE等;
6.只需要在建立表的時候告訴 Hive 資料中的列分隔符和行分隔符,Hive 就可以解析資料;
7.Hive 中包含以下資料模型:DB--資料庫、Table--表,External Table--外部表,Partition--分割槽,8.Bucket分桶;
9..db:是建立資料庫的字尾,是HDFS在${hive.metastore.warehouse.dir}路徑下的一個子目錄;
10.tables:是hdfs下的.db目錄下的一個資料夾;
11.external table:與table類似,不過其資料存放位置可以在任意指定路徑
12.管理表:刪除表後,都刪除元資料和資料;
13.外部表:刪除表後,只刪除元年資料,不刪除HDFS下的資料;
14.partition--分割槽:在hdfs中表現為table目錄下的子目錄;
15.bucket:在hdfs中表現為同一個表目錄下根據hash雜湊之後的多個檔案
16. hive分桶操作的效果:

         把一個檔案按照某個特定的欄位和桶數 雜湊成多個檔案