
1.hbase支持的数据类型?
Byte[]
HBase 通过 Put 操作和 Result 操作支持 “byte-in / bytes-out” 接口,所以任何可以转换为字节数组的内容都可以作为一个值存储。输入可以是字符串、数字、复杂对象、甚至可以是图像,只要它们可以呈现为字节。
2.hbase的查询速度相比传统数据库为什么要快些?
读取速度快是因为它使用了LSM树型结构,而不是B或B+树。磁盘的顺序读取速度很快,但是相比而言,寻找磁道的速度就要慢很多。HBase的存储结构导致它需要磁盘寻道时间在可预测范围内,并且读取与所要查询的rowkey连续的任意数量的记录都不会引发额外的寻道开销。
3.hbase三级索引(就是怎么查找数据)?
zookeeper中存储了meta表的region信息,所以先从zookeeper中找到meta表region的位置,然后读取meta表中的数据。meta中又存储了用户表的region信息。
根据namespace、表名和rowkey在meta表中找到对应的region信息
找到这个region对应的regionserver
查找对应的region
先从MemStore找数据,如果没有,再到StoreFile上读(为了读取的效率)。
4.hbase的master怎么选举的?
前提选举是通过ZOO进行选举 , ZOO的节点分为 临时节点和 持久节点
HBase会在ZOO上创建一个选举节点 持久节点 /hbase/master/
一、在MASTER启动的时候,两个MASTER会同时写 master目录,谁写成功,谁就是MASTER
写的是临时节点
没写成功的,监听写成功的节点
二、如果ACTIVE MASTER宕机,首先临时节点会消失,监听器会告诉STANDBY 服务器,主节点宕机
如果剩下的数量超过两个,会进行选举,如果只有一个呢
从节点上位
三、节点恢复,老的主节点恢复过后,会尝试与其他主节点通信,其他主节点告诉他已经被篡位了。(EPOCH 0,1),监听正在服务的主节点
节点角色变为STANDBY,并且需要同步最新的数据。
以上就是今天为各位朋友分享的有关Hive在企业面试中常见的一些问题,希望对大家有帮助,如果还想了解更多有关大数据主流技术的常见面试问题,欢迎私聊。