Hbase基础总结
6、过滤器:
比较过滤器:(注意:过滤器中需要传入两个参数,分别是操作符和比较器)
比较器:二进制比较器,二进制前缀比较器,包含比较比较器,前缀比较器,正则比较器
行键过滤器:
列簇过滤器:
列名过滤器:
列值过滤器:
专用过滤器:
单列值过滤器:
分页过滤器:
包装过滤器:
WhileMatchFilter 多级过滤器查询:
FilterList
布隆过滤器:减少查询的数据量。NONE,ROW,ROWCOL
7、架构、读写流程
读:
1、客户端先于zookeeper发起请求建立连接(RPC的方式),获取hbase:meta表的位置(meta表也是存储在HDFS中)
2、去对应的RegionServer中找到该meta表
3、根据meta表的内容找到所需数据所在的RegionServer的位置。 get: 获取到的是一个RS的地址 scan: 获取到的多个RS的地址
4、去对应的RegionServer中找数据
5、先去memstore中查找,如果找到就返回 再去blockcache中找,。。。。 再去storefile中找,。。。 再去HFile中找,。。。。
写:
1、客户端先于zookeeper发起请求建立连接(RPC的方式),获取hbase:meta表的位置(meta表也是存储在HDFS中)
2、去对应的RegionServer中找到该meta表
3、根据meta表的内容找到所需Region所在的RegionServer的位置。
4、与对应的RegionServer建立连接,开始传输数据
5、先写入到WAL中,再往memstore中写,当memstore写满后,当memstore达到100M的时候放入到blockcache中,当blockcache中的memstore达到85%的时候,触发flush机制,将数据写入 (stroefile--->Hfile文件)到HDFS中。
(注意:一个HFile文件被一个Region所管理)
8、分裂机制:1.4.6
9、什么是Hbase的热点问题: 当插入数据的时候,大量的数据都会往一个RegionServer中插入数据,导致该RegionServer的压力过大,其他节点没有交互。 如何解决:建表的时候,进行预分区(设置切割点(针对rowkey来说的))
10、为什么Hbase在海量数据中查询数据非常快?
10T--->2G--->500M--->250M--->10M 机械磁盘:0.1s
固态硬盘:0.01s 配合布隆过滤器,内存缓冲机制,速度更快。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人