HBase在存储时, 使用了LSM树来进行数据存储, 会定期将文件进行合并, 以提升数据的查询效率, LSM树都是这么处理的....Minor 合并的时候, 将多个小文件进行合并, 那么在执行之前, 需要进行待合并文件的选择, 选取的文件一般来说不能太大, 同时也不能太多, 否则会占用过多系统资源....可以减少文件占用磁盘空间
提高文件的本地化率. 在进行文件合并的时候, 合并后的文件先放到本地, 然后再更新的 HDFS 上, 也就意味着查询可以直接读取本地文件....触发条件
文件合并虽好, 但也不能一直进行合并, 否则占用太多资源, 根本吃不住来自业务的压力. 那么什么时候会触发文件合并呢?
「1....合并流程
文件合并一般分为以下几步:
分别读取待合并文件的数据, 进行归并处理, 写到临时文件中
将临时文件挪到store的数据目录中
将合并信息存到 HLog 中, 并推送文件到 HDFS
将合并前的小文件删除