Hbase读写数据流程
前言
学习大数据过程中记下的一些笔记以下是本篇文章正文内容,下面案例可供参考
行键 的重要性 —> 1) 唯一标识 2) 排序 3) 索引 4) 实施布隆过滤器 5) 行级事务
写数据流程
写数据流程(put为例)
1、客户端请求Zookeeper插入数据put ‘a’,‘rk001’,‘cf:age’,‘21’
2、zookeeper返回客户端元数据在哪个region server
3、客户端请求返回的regionserver下载元数据(为什么要下载,而不是读数据,读数据不是比下载快?因为下载后会将元数据缓存到客户端内存中,下次再有相同需求时直接用缓存的数据操作)
4、客户端下载缓存,解析下载到的元数据,得到region所在的位置(hostname,regionname)
5、请求regionserver写数据,a表->包含rk001的的region->store(cf1)->MemoryStore(128M)
6、边将数据写到内存中,一边向hdfs写日志文件(避免region server宕机,内存中的数据丢失) MemoryStore(默认内存中的数据达到128M刷新一次)->flush刷