HFile 文件介绍
HFile 是 HDFS 上每个 store 文件夹下实际存储数据的文件了。这个文件存储了很多信息。
- 数据本身(key value 键值对)
- 元数据记录
- 文件信息
- 数据索引
- 元数据索引
- 固长尾部信息
每个 HFile 还会维护一个 布隆过滤器,文件中每有种 key,就在对应的位置标记。可以快速判断 get 的 key 在不在当前 HFile 中。
hbase hfile -m -f /hbase/data/bigdata/student/dad1271908af8262bf4c44a52bb24af1/name/93d3c00468014928a1e509b78b3475f5
使用这个命令可以看到 HFile 元数据的内容。
思考
- HFile 文件从 mem store 多久进行一次刷写呢,刷写条件是什么?
- 布隆过滤器可以进行多少 key 的判断(或者说 百万key 判断需要占用多大内存)
- 布隆过滤器什么情况无法得到准确信息?