HBase面試問題


一、HBase的特點是什么
1.HBase一個分布式的基於列式存儲的數據庫,基於hadoop的hdfs存儲,zookeeper進行管理。
2.HBase適合存儲半結構化或非結構化數據,對於數據結構字段不夠確定或者雜亂無章很難按一個概念去抽取的數據。
3.HBase為null的記錄不會被存儲.
4.基於的表包含rowkey,時間戳,和列族。新寫入數據時,時間戳更新,同時可以查詢到以前的版本.
5.HBase是主從架構。Hmaster作為主節點,Hregionserver作為從節點。
 
二、HBase和hive的區別
 
三、描述HBase的rowkey的設計原則
 
四、描述HBase中scan和get的功能以及實現的異同
HBase的查詢實現只提供兩種方式:

1、按指定RowKey 獲取唯一一條記錄,get方法(org.apache.hadoop.hbase.client.Get)

Get 的方法處理分兩種 : 設置了ClosestRowBefore 和沒有設置的rowlock .主要是用來保證行的事務性,即每個get 是以一個row 來標記的.一個row中可以有很多family 和column.
 

2、按指定的條件獲取一批記錄,scan方法(org.apache.Hadoop.hbase.client.Scan)實現條件查詢功能使用的就是scan 方式.

1)scan 可以通過setCaching 與setBatch 方法提高速度(以空間換時間);

2)scan 可以通過setStartRow 與setEndRow 來限定范圍([start,end)start 是閉區間,

end 是開區間)。范圍越小,性能越高。

3)、scan 可以通過setFilter 方法添加過濾器,這也是分頁、多條件查詢的基礎。
 
五、描述如何解決HBase中region太小和region太大帶來的沖突
Region過大會發生多次compaction,將數據讀一遍並重寫一遍到hdfs 上,占用io,region過小會造成多次split,region 會下線,影響訪問服務,調整hbase.hregion.max.filesize 為256m.
 
六、簡述HBase中compact用途是什么,什么時候觸發,分為哪兩種,有什么區別,有哪些相關配置參數?
在hbase中每當有memstore數據flush到磁盤之后,就形成一個storefile,當storeFile的數量達到一定程度后,就需要將 storefile 文件來進行 compaction 操作。

Compact 的作用:

1>.合並文件

2>.清除過期,多余版本的數據

3>.提高讀寫數據的效率

HBase 中實現了兩種 compaction 的方式:minor and major. 這兩種 compaction 方式的區別是:

1、Minor 操作只用來做部分文件的合並操作以及包括 minVersion=0 並且設置 ttl 的過

期版本清理,不做任何刪除數據、多版本數據的清理工作。

2、Major 操作是對 Region 下的HStore下的所有StoreFile執行合並操作,最終的結果是整理合並出一個文件。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM