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