Hbase面试题4

  •  1.Hbase与Hive 整合?   
    

Hive 在一般的使用中,通过把hive语句通过driver转化成mapreducer执行,但是与hbase整合后,通过hiveStorageHandler将hive语句解析映射到Hbase集群。
如果某表hbase已经存在但是在hive中不存在相关信息,适合创建外部表,如果在hive中已经有相关信息,适合创建内部表。

  •  2.HBase的二级索引?
    

HBase实现了二级索引的方式:client-managed方式、ITHbase、IHbase方式、coprocessor方式
1.client-managed方式:建立索引表,索引表只需要一个列族,这个列族只有一个字段,本质是倒排序。
二级索引的本质就是建立各列值和行键的映射关系。
首先建立列值为键,rowkey为值的二级索引表,当用户要去找这个列族下的另外一个列值的时候,首先从这个列值索引表中找到rowkey,在从rowkey中找到相应的列值。
2.ITHbase是基于事务的二级索引
首先建立一个事务表,每次开启事务的时候在表中记录状态。当客户端进行更新多个表的时候,需要开启事务,然后把每次put的id传入到regionserver中,当server确认收到,这个记录待写入。最后完成了由客户端进行commit完成写入。
3.IHbase 支持更快的扫描
它的思想是在region级别建立索引不是在表级
核心思想:
当memstore满足flush到磁盘时,Ihbase会进行拦截请求,并为这个memstore的数据建立索引。索引存放在表的另一个列族中。在执行scan扫描的时候会结合索引列标记加快查询。
4.coprocessor方式
支持region级别的索引和针对一些聚合操作。在sever端添加一些回调函数。利用hook的实现二级索引,实现max.min,avg,等等。

  • 3.Hbase的协处理?
    

1.主要是轻易建立二次索引,复杂的过滤器。把计算放到regionserver中去做,把结果返回给你。把客户端要做的事情,放到服务器中执行。
协处理器分类
1.observer
observer 类似于数据库的触发器,当发生某些事件的时候这类协处理器会被server端调用。observer coprocessor就是HBase server端的hook钩子,比如;put之前就有钩子函数preput,在put之前会被regionserver调用。
2.endpoint 端点
类似于存储过程
终端是动态rpc插件的接口。它实现代码被安装在服务器端,从而通过Hbase的RPC唤醒。

  • 4.Hbase中的get与scan 的功能以及实现区别
    

1.get默认是按照指定的rowkey获取唯一一条记录,get的方法处理方式有cloestrowbefore和没有设置rowlock,主要是用来保证事务性,每个get是以row为标记,一个row中可以有多个family和列
2.按照指定条件获取一批数据,是scan方法,可以通过设置setcaching和setbatch方法提高速度。
3.scan可以通过setstartrow和setendrow来限制访问,左闭右开。
4.scan可以设置setfilte来添加过滤器。用于分页查询和多条件查询。

  • 5.Hbase性能优化
    

查询优化:
1.设置scan缓存:setcaching和setbatch
2.关闭resultscanner.resultscanner会存储服务端扫描结果,影响性能。
3.使用过滤器
4.使用htablepool进行访问
写入优化
1.设置预分区
2.关闭wal日志
3.设置autoflush 默认是true,要设置为false,这样可以批量插入再提交。不然收到一个提交给服务器。
4.批量写
表设计优化
1.开启布隆过滤器
2.行建优化

  • 6.Hbase查询一行数据过程
    

1.客户端调用get或者scan进行查询
2.通过zookeeper寻找root表的入口地址->找到meta表region地址,在meta表检索region的信息
3.在regio内查询,构造扫描器,从memstore中查找-blockstore查找-hfile查找。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据学习爱好者

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值