hbase刪除某一行數(shù)據(jù) HBase合并storefile的原因是什么?在合并的過(guò)程中會(huì)做什么操作?
HBase合并storefile的原因是什么?在合并的過(guò)程中會(huì)做什么操作?合并storefile的過(guò)程稱為Compaction過(guò)程,主要過(guò)程是合并由memStore的flush操作產(chǎn)生的部分或者所有S
HBase合并storefile的原因是什么?在合并的過(guò)程中會(huì)做什么操作?
合并storefile的過(guò)程稱為Compaction過(guò)程,主要過(guò)程是合并由memStore的flush操作產(chǎn)生的部分或者所有StoreFile,主要有以下幾個(gè)作用:
1)合并文件。由于flush的觸發(fā)是針對(duì)所有memStore,所以緩存有些記錄不多的memStore flush之后的結(jié)果是很多小文件。Compaction操作可以合并這些小文件,減小對(duì)StoreFile的維護(hù)成本。
2)清除刪除、過(guò)期、多余版本的數(shù)據(jù)。由于HBase所有寫入的數(shù)據(jù)都是不可修改的,所以對(duì)數(shù)據(jù)的修改操作就是添加一條新的記錄,原數(shù)據(jù)仍保存在StoreFile中;而刪除操作是添加一個(gè)刪除的標(biāo)識(shí)。Compaction操作可以整合這些信息,減少磁盤空間的占用。
3)提高讀寫數(shù)據(jù)的效率。