Hbase练习4

本文探讨了Hbase中布隆过滤器的原理,rowkey设计的关键点,二级索引表的概念,以及协处理器的分类及其在Hbase中的应用。通过学习,读者将能更深入理解Hbase的高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简单说一下布隆过滤器的原理

布隆过滤器的核心是一个超大位数组(或者叫位向量)和几个哈希函数。
检测情况有两种:
1. 一定不在集合中
2. 不一定在集合中

Step1:将位数组初始化,每位都设为0

Step2:对集合里的每一个元素通过n个哈希函数进行映射。映射的哈希值对应位数组上的一个点,将该位置标记为1

Step3:查询元素是否在集合中的时候,同样的方法将该元素通过哈希函数映射到位数组的各个点上

Step4:只要有一个点不为1,则判断该元素一定不存在集合中。反之,如果各个点都为1,则元素可能在集合中

2、rowkey的设计原则是?

1. 唯一性(避免出现覆盖)
	
2. 长度原则(避免排序问题)
	长度统一
	Rowkey建议是8的倍数,不要超过16个字节。越短越好省磁盘和内存空间
	
3. 散列原则(避免了热点问题)
	-- Reverse反转
		手机号
	-- Salting(加盐)
		原有的rowkey前加字符串
	-- hash散列或者Mod
		通过算法获取字符集。然后再原有的rowkey加前缀

3、什么是二级索引表

二级索引的本质就是建立各列值与行键之间的映射关系
单元格的值作为二级索引表的rowkey,原表的rowkey作为数据存储到二级索引表中

4、hbase的协处理器分几大类,作用是什么?

Observer 类似于传统数据库中的触发器
    -- RegionObserver:针对Region的观察者,可以监听关于Region的操作
    -- RegionServerObserver:针对RegionServer的观察者,可以监听关于RegionServer的操作
    -- WALObserver:针对WAL的观察者,可以监听关于WAL的操作
    -- MasterObserver:针对Master的观察者,可以监听关于Master的操作
    
endpoint 类似于传统数据库中的存储过程
    -- Observer 允许集群在正常的客户端操作过程中可以有不同的行为表现  
    -- Endpoint 允许扩展集群的能力,对客户端应用开放新的运算命令  
    -- Observer 类似于 RDBMS 中的触发器,主要在服务端工作
    -- Endpoint 类似于 RDBMS 中的存储过程,主要在服务端工作
    -- Observer 可以实现权限管理、优先级设置、监控、ddl 控制、二级索引等功能
    -- Endpoint 可以实现 min、max、avg、sum、distinct、group by 等功能

5、使用协处理器完成下列逻辑

当我们向表hello中插入单元格时,如果name单元格的value值是michael,那么就在另外一个单元格message里面插入hello michael。  列族为base.

put 'hello','rk1001','base:name','michael'
                      base:message','hello michael'
package com.hbase.coprocessor;

import com.hbase.util
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值