注意區分HBase與Hive之間的定義和區別
阿新 • • 發佈:2019-01-24
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分桶操作的效果: 把一個檔案按照某個特定的欄位和桶數 雜湊成多個檔案