HBase的region的概念,在逻辑上和table是1:1的关系;但是region在物理实现上对应的是HFile,于是就存在一个region的分割的逻辑,其实似乎region的物理实现HFile的分割。
那么HFile的分割之后数据是一分为二了,那么未来向HFile中插入数据的时候怎么知道向那个HFile中插入呢?其实每个HFile都会有自己的startRowKey以及endRowKey;被一分为二的HFile在META表中会被重新分配startRowKey以及endRowKey信息;这个两个HFile的startRowKey以及EndRowkey的合集的区间是split前的HFile的范围。
那么什么是HFile,和region到底是什么关系?我们首先看一下hbase官方的一张图:
一个Table对应一个region,这里region是一个逻辑概念(越到底层越物理)。每个Table有多个CF,每个CF对一个HFile(StoreFile)。通常讲的region的split其实即使对于底层的HFile的分割。
原文:https://www.cnblogs.com/xiashiwendao/p/8972297.html