HBase面试题

描述 HBase 中 scan 和 get 的功能以及实现的异同?

HBase 的查询实现只提供两种方式:

(1)按指定 RowKey 获取唯一一条记录,get 方法(org.apache.hadoop.hbase.client.Get) Get 的方法处理分两种 : 设置了 ClosestRowBefore 和没有设置 ClosestRowBefore 的 rowlock。主要是用来保证行的事务性,即每个 get 是以一个 row 来标记的。一个 row 中 可以有很多 family 和 column。

(2)按指定的条件获取一批记录,scan 方法(org.apache.Hadoop.hbase.client.Scan)实现条 件查询功能使用的就是 scan 方式。

请详细描述 HBase 中一个 cell 的结构?

HBase 中通过 row 和 columns 确定的为一个存贮单元称为 cell。 Cell:由{row key, column(= + ), version}唯一确定的单元。cell 中的数据是 没有类型的,全部是字节码形式存贮。

简述 HBase 中 compact 用途是什么,什么时候触发,分为哪 两种,有什么区别,有哪些相关配置参数?

在 hbase 中每当有 memstore 数据 flush 到磁盘之后,就形成一个 storefile,当 storeFile 的数量达到一定程度后,就需要将 storefile 文件来进行 compaction 操作。 Compact 的作用:

① 合并文件 ② 清除过期,多余版本的数据 ③ 提高读写数据的效率 HBase 中实现了两种 compaction 的方式:minor and major.

这两种 compaction 方式的区别: 1、Minor 操作只用来做部分文件的合并操作以及包括 minVersion=0 并且设置 ttl 的过期版本清理,不做任何删除数据、多版本数据的清理工作。 2、Major 操作是对 Region 下的 HStore 下的所有 StoreFile 执行合并操作,最终 的结果是整理合并出一个文件。

相关推荐
paopaokaka_luck30 分钟前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
码士集团小青41 分钟前
面霸篇:高频 Java 基础问题(核心卷一)
linux·服务器·数据库·redis·缓存·1024程序员节
2301_32241428041 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
云上先途1 小时前
开发专属 AI 工具,数据安全和隐私风险怎么规避?
大数据·人工智能·深度学习
LMT流氓兔2 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节
cuijiecheng20182 小时前
WeFlow 无法使用怎么办?一次数据库组件到期问题的排查与修复
数据库·oracle
2601_967212722 小时前
高防护轨道式插座安全结构与工程适配技术说明
大数据·经验分享·安全
雷一言说2 小时前
Spring AI 2.0 Tool Calling 实战:用一个订单查询跑通整个调用链
spring
阿文和她的Key2 小时前
PHP2Shell事故四层拆解:AI找洞是小时级,披露协调还是邮件级
网络·人工智能·架构·php
一条泥憨鱼3 小时前
【Redis | 黑马点评】附近商铺功能源码解读
数据库·redis·缓存