面试题答案
一键面试- 布隆过滤器(Bloom Filter):在HFile中,布隆过滤器用于快速判断某个Key是否存在。原理是通过一个位数组和多个哈希函数,对Key进行哈希计算,将对应的数组位置置为1。查询时,对Key再次哈希计算,如果对应位置不全为1,则Key一定不存在;若全为1,Key可能存在,大大减少了实际读取磁盘的次数,提升读取性能。
- 数据块缓存(Block Cache):HBase将HFile中的数据按块读取并缓存在内存中。当读取Key时,首先检查缓存中是否有对应的数据块。如果有,直接从缓存读取,避免磁盘I/O,显著提升性能。
- 索引(Index):HFile包含元数据索引,如行键索引。通过索引,能够快速定位到包含目标Key的数据块在HFile中的位置,减少顺序扫描的范围,加快查找Key的速度,提升读取性能。