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

简介: 大数据开发岗面试复习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相关的五个问题,你做到心中有数了么?

其实做这个专栏我也有私心,就是希望借助每天写一篇面试题,督促自己学习,以免在吹水群甚至都没有谈资!

对了,如果你的朋友也在准备面试,请将这个系列扔给他,

好了,今天就到这里,学废了的同学,记得在评论区留言:打卡。给同学们以激励。


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Java 大数据 分布式数据库
Spring Boot 与 HBase 的完美融合:探索高效大数据应用开发的新途径
【8月更文挑战第29天】Spring Boot是一款广受好评的微服务框架,以其便捷的开发体验著称。HBase则是一个高性能的大数据分布式数据库系统。结合两者,可极大简化HBase应用开发。本文将对比传统方式与Spring Boot集成HBase的区别,展示如何在Spring Boot中优雅实现HBase功能,并提供示例代码。从依赖管理、连接配置、表操作到数据访问,Spring Boot均能显著减少工作量,提升代码可读性和可维护性,使开发者更专注业务逻辑。
1010 1
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
1914 12
|
分布式计算 大数据 分布式数据库
"揭秘HBase MapReduce高效数据处理秘诀:四步实战攻略,让你轻松玩转大数据分析!"
【8月更文挑战第17天】大数据时代,HBase以高性能、可扩展性成为关键的数据存储解决方案。结合MapReduce分布式计算框架,能高效处理HBase中的大规模数据。本文通过实例展示如何配置HBase集群、编写Map和Reduce函数,以及运行MapReduce作业来计算HBase某列的平均值。此过程不仅限于简单的统计分析,还可扩展至更复杂的数据处理任务,为企业提供强有力的大数据技术支持。
431 1
|
存储 NoSQL 大数据
大数据存储:HBase与Cassandra的对比
【7月更文挑战第16天】HBase和Cassandra作为两种流行的分布式NoSQL数据库,在数据模型、一致性模型、数据分布、查询语言和性能等方面各有千秋。HBase适用于需要强一致性和与Hadoop生态系统集成的场景,如大规模数据处理和分析。而Cassandra则更适合需要高可用性和灵活查询能力的场景,如分布式计算、云计算和大数据应用等。在实际应用中,选择哪种数据库取决于具体的需求和场景。希望本文的对比分析能够帮助读者更好地理解这两种数据库,并做出明智的选择。
1322 1
|
存储 Java 分布式数据库
使用Spring Boot和HBase实现大数据存储
使用Spring Boot和HBase实现大数据存储
1321 1
|
SQL 大数据
常见大数据面试SQL-每年总成绩都有所提升的学生
一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题: 问题1:每年每门学科排名第一的学生 问题2:每年总成绩都有所提升的学生
|
存储 SQL 分布式计算
HBase 相关面试题
HBase 是一种基于 Hadoop 的分布式 NoSQL 数据库,它是 Google 的Bigtable 的开源实现。
300 7
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
441 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
存储 分布式计算 Hadoop
【大数据】分布式数据库HBase下载安装教程
【大数据】分布式数据库HBase下载安装教程
868 0