大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day11——Hbase5

Posted 大数据Manor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day11——Hbase5相关的知识,希望对你有一定的参考价值。

前言

大家好,我是程序员manor。作为一名大数据专业学生、爱好者,深知面试重要性,很多学生已经进入暑假模式,暑假也不能懈怠,正值金九银十的秋招
接下来我准备用30天时间,基于大数据开发岗面试中的高频面试题,以每日5题的形式,带你过一遍常见面试题及恰如其分的解答。

相信只要一路走来,日积月累,我们终会在最高处见。
以古人的话共勉:道阻且长,行则将至;行而不辍,未来可期!

本栏目大数据开发岗高频面试题主要出自大数据技术专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。

历史回顾:

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day01】——Hive1

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day02】——Hive2

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day03】——Kafka1
大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day04】——Kafka2

大数据开发岗常见面试复习30天冲刺 - 日积月累,每日五题【Day05】——Kafka3

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day06】——Kafka4

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day07】——Hbase1

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day08】——Hbase2

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day09】——Hbase3

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day10】——Hbase4


停🤚
不要往下滑了,
默默想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相关的五个问题,你做到心中有数了么?
其实做这个专栏我也有私心,就是希望借助每天写一篇面试题,督促自己学习,以免在吹水群甚至都没有谈资!
对了,如果你的朋友也在准备面试,请将这个系列扔给他,
好了,今天就到这里,学废了的同学,记得在评论区留言:打卡。给同学们以激励。

以上是关于大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day11——Hbase5的主要内容,如果未能解决你的问题,请参考以下文章

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day23——Spark10

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day24——Spark11

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day25——Spark12

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day25——Spark12

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day24——Spark11

大数据开发岗面试复习30天冲刺 - 日积月累,每日五题Day23——Spark10