在 HBase 中每當有 memstore 數據 flush 到磁盤之后,就形成一個 StoreFile,當 StoreFile 的數量達到一定程度后,就需要將 StoreFile 文件來進行 Compact 操作。Compact 的作用如下:
* 清除過期,多余版本的數據。 * 合并文件,減少需要檢索的文件數量,提高讀數據的效率。
HBase 中實現了兩種 Compact 的方式:Minor 和 Major. 這兩種 Compact 方式的區別是:
* Minor 操作會獲取相鄰的部分小StoreFile來執行合并操作,不做清理多版本數據和刪除數據的操作,盡量不影響集群的正常工作。 * Major 操作是對 Region下的Store的所有StoreFile執行合并操作,輸出成一個StoreFile,這是一個比較耗費資源的操作,所以不宜頻繁Major Compact。
更多關于“大數據培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。