大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day11】——Hbase5
前言
本栏目大数据开发岗高频面试题主要出自
大数据技术
专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。
文章目录
停不要往下滑了,
默默想5min,
看看这5道面试题你都会吗?
面试题 01、什么是全局索引?
面试题02、什么是覆盖索引?
面试题 03、什么是本地索引?
面试题04、请简述Hbase写入数据的流程
面试题05、请简述Hbase读取数据的流程
以下答案仅供参考:
面试题 01、什么是全局索引?
•创建全局索引,会自动构建一张索引表 •索引表结构 –Rowkey:索引字段+原表的rowkey –列:占位置x •特点:如果查询字段或者查询条件不是索引字段,就不会走索引 •应用:适合于读多写少
面试题02、什么是覆盖索引?
•创建覆盖索引,会自动构建一张索引表 •索引表结构 –Rowkey:索引字段+原表的rowkey –列:将include中的列放入索引表 •特点 –如果查询字段或者查询条件不是索引字段,就不会走索引 –如果查询的字段在索引表中,直接从索引表返回结果
面试题 03、什么是本地索引?
•创建覆盖索引,会自动基于原表构建一个列族来实现索引存储 •原表的数据中:多了一个索引列族 •特点 –不论查询字段是否是索引字段,都会走索引 –将索引与数据存储在同一台RegionServer,提高索引读写性能 •注意 –本地索引会修改原数据表,对于本地索引只能使用Phoenix来操作表的数据 –盐表不能使用本地索引
面试题04、请简述Hbase写入数据的流程
•step1:获取元数据 –客户端请求Zookeeper,获取meta表所在的regionserver的地址 –读取meta表的数据:获取所有表的元数据 •step2:找到对应的Region –根据meta表中的元数据,找到表对应的所有的region –根据region的范围和写入的Rowkey,判断需要写入具体哪一个Region –根据region的Regionserver的地址,请求对应的RegionServer •step3:写入数据 –请求RegionServer写入对应Region:根据Region的名称来指定写入哪个Region –根据列族判断写入哪一个具体的Store •先写入WAL:Hlog预写日志中 –写入对应Store的MemStore中 •MemStore
面试题05、请简述Hbase读取数据的流程
•step1:获取元数据 –客户端请求Zookeeper,获取meta表所在的regionserver的地址 –读取meta表的数据 –注意:客户端会缓存meta表的数据,只有第一次会连接ZK,读取meta表的数据,缓存会定期失效,要重新缓存 •避免每次请求都要先连接zk,再读取meta表 •step2:找到对应的Region –根据meta表中的元数据,找到表对应的region –根据region的范围和写入的Rowkey,判断需要写入具体哪一个Region –根据region的Regionserver的地址,请求对应的RegionServer •step3:读取数据 –先查询memstore –如果查询的列族开启了缓存机制,就读取BlockCache –如果没有,就读取StoreFile,并将结果放入BlockCache中
总结
今天我们复习了面试中常考的Hbase相关的五个问题,你做到心中有数了么?
相关文章
- 直接在代码里面对list集合进行分页
- .NET Framework 4.5新特性详解
- 大数据的简要介绍
- 大数据的由来
- 高斯混合模型的自然梯度变量推理
- timing-wheel 仿Kafka实现的时间轮算法
- 使用Navicat软件连接自建数据库(Linux系统)
- 那一天,我被Redis主从架构支配的恐惧
- Redis 深入了解键的过期时间
- C#使用委托调用实现用户端等待闪屏
- 基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统
- GRAND | 转录调控网络预测数据库
- JFreeChart API中文文档
- 临床相关突变查询数据库
- TIGER | 人类胰岛基因变化查询数据库
- 视频边缘计算网关EasyNVR在视频整体监控解决方案中的应用分析
- Apache Arrow - 大数据在数据湖后的下一个风向标
- 常见的电商数据指标体系
- AKShare-艺人数据-艺人流量价值
- MySQL中多表联合查询与子查询的这些区别,你可能不知道!