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

简介: 大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day12】——Hbase6

停🤚
不要往下滑了,
默默想5min,
看看这5道面试题你都会吗?

面试题 01、请简述LSM模型的设计思想
面试题02、什么是Flush,什么时候会触发Flush?
面试题 03、什么是Compaction,什么时候会触发Compaction?
面试题04、什么是Spit,什么时候会触发Split?
面试题05、MapReduce读取Hbase数据的原理及返回值是什么?

以下答案仅供参考:

面试题 01、请简述LSM模型的设计思想

•step1:数据写入的时候,只写入内存

•step2:将数据在内存构建有序,当数据量大的时候,将有序的数据写入磁盘,变成一个有序的数据文件

•step3:基于所有有序的小文件进行合并,合并为一个整体有序的大文件

面试题02、什么是Flush,什么时候会触发Flush?

•Flush是指将memstore中的数据写入HDFS,变成StoreFile

•2.0之前:判断memstore存储大小,单个memstore达到128M就会触发Flush,或者整个memstore达到95%就会触发

•2.0之后:根据平均每个memstore的存储大小与16M取最大值计算水位线,高于水位线就Flush,不高于就不Flush,都不高于全部Flush

面试题03、什么是Compaction,什么时候会触发Compaction?

•Compaction的功能是将多个单独有序StoreFile文件进行合并,合并为整体有序的大文件并且删除过期数据,加快读取速度

•2.0之前:通过minor compaction和major compaction来实现

–minor compaction:用于合并最早生成的几个小文件,不清理过期数据

–major compaction:用于将所有storefile合并为一个StoreFile,并清理过期数据

•2.0之后:除了minor compaction和major compaction,添加了in-memory-compaction

–In-memory compaction:在内存中进行合并,合并以后的结果再进行flush,有四种配置

•none:不开启

•basic:开启,但是合并时不删除过期数据

•eager:开启,合并时并清理删除过期数据

•adaptive:开启,并在合并时根据数据量来自动判断是否清理过期数据

面试题04、什么是Spit,什么时候会触发Split?

•Split是指当一个Region存储的数据过多,导致这个Region的负载比较高,Hbase中设定了一个Region最多存储的数据量的阈值,一旦达到阈值,允许Region分裂为两个region,老的region会下线,新的两个region对外提供服务

•0.94之前:ConstantSizeRegionSplitPolicy

–只要region中的storefile达到10G,就分裂

•2.0之前:IncreasingToUpperBoundRegionSplitPolicy

–根据Region个数来实现计算,当达到4个region以后,也是按照10GB来分裂

•2.0之后:SteppingSplitPolicy

–Region个数等于1个:按照256M来分裂

–Region个数超过1个:按照10GB来分裂

面试题05、MapReduce读取Hbase数据的原理及返回值是什么?

•MapReduce读取Hbase原理:封装了一个TableInputFormat来实现读取Hbase的数据

•返回值

–每个Region对应一个分片,每个分片启动一个MapTask进行处理

–每个Rowkey的数据变成一个KV对

–K是Rowkey的字节对象:ImmutableBytesWriable类型

–V是Rowkey的数据对象:Result类型

总结

今天我们复习了面试中常考的Hbase相关的五个问题,你做到心中有数了么?

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

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

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


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Java 大数据 分布式数据库
Spring Boot 与 HBase 的完美融合:探索高效大数据应用开发的新途径
【8月更文挑战第29天】Spring Boot是一款广受好评的微服务框架,以其便捷的开发体验著称。HBase则是一个高性能的大数据分布式数据库系统。结合两者,可极大简化HBase应用开发。本文将对比传统方式与Spring Boot集成HBase的区别,展示如何在Spring Boot中优雅实现HBase功能,并提供示例代码。从依赖管理、连接配置、表操作到数据访问,Spring Boot均能显著减少工作量,提升代码可读性和可维护性,使开发者更专注业务逻辑。
929 1
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何开发ODPS Spark任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
343 2
|
12月前
|
人工智能 DataWorks 大数据
大数据AI一体化开发再加速:DataWorks 支持GPU类型资源
大数据开发治理平台 DataWorks 的Serverless资源组支持GPU资源类型,以免运维、按需付费、弹性伸缩的Serverless架构,将大数据处理与AI开发能力无缝融合。面向大数据&AI协同开发场景,DataWorks提供了交互式开发和分析工具Notebook。开发者在创建个人开发环境时,可以选择GPU类型的资源作为Notebook运行环境,以支持进行高性能的计算工作。本教程将基于开源多模态大模型Qwen2-VL-2B-Instruct,介绍如何使用 DataWorks Notebook及LLaMA Factory训练框架完成文旅领域大模型的构建。
807 24
|
数据采集 机器学习/深度学习 DataWorks
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
542 1
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
1823 12
|
分布式计算 大数据 分布式数据库
"揭秘HBase MapReduce高效数据处理秘诀:四步实战攻略,让你轻松玩转大数据分析!"
【8月更文挑战第17天】大数据时代,HBase以高性能、可扩展性成为关键的数据存储解决方案。结合MapReduce分布式计算框架,能高效处理HBase中的大规模数据。本文通过实例展示如何配置HBase集群、编写Map和Reduce函数,以及运行MapReduce作业来计算HBase某列的平均值。此过程不仅限于简单的统计分析,还可扩展至更复杂的数据处理任务,为企业提供强有力的大数据技术支持。
378 1
|
SQL 分布式计算 MaxCompute
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
324 7
|
分布式计算 运维 DataWorks
MaxCompute操作报错合集之用户已在DataWorks项目中,并有项目的开发和运维权限,下载数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
256 8
|
存储 分布式计算 MaxCompute
构建NLP 开发问题之如何支持其他存储介质(如 HDFS、ODPS Volumn)在 transformers 框架中
构建NLP 开发问题之如何支持其他存储介质(如 HDFS、ODPS Volumn)在 transformers 框架中
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之PyODPS Python类的开发如何用MC的资源
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
175 1