第6章 HBase基础

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 第6章 HBase基础

一:判断题

1:HBase是一套高性能的分布式数据集群,必须在大型机或者高性能的服务器上进行搭建。

T


2:HBase是Apache的Hadoop项目的子项目,利用Hadoop HDFS作为其文件存储系统,适合于非结构化数据存储。

T


3:Hbase 采用是 Key-Value 形式的数据库,模拟于 Java 中的 Map 形式。

T


4:HBase 中的数据都是字节,且有各种类型。

F


二:单选题

1:HBase 存储底层数据依靠的是

A.HDFS

B.Hadoop

C.Memory

D.MapReduce


2:HBase依赖______提供强大的计算能力。

A.Zookeeper

B.Chubby

C.RPC

D.MapReduce


3:HBase依赖______提供消息通信机制

A.Zookeeper

B.Chubby

C.RPC

D.Socket


4:HBase来源于哪一项?

A.The Google File System

B.MapReduce

C.BigTable

D.Chubby


5:HFile 数据格式中的 MetaIndex 字段用于

A.Meta 块的长度

B.Meta 块的结束点

C.Meta 块数据内容

D.Meta 块的起始点


6:HFile 数据格式中的 KeyValue 数据格式中 Value 部分是

A.拥有复杂结构的字符串

B.字符串

C.二进制数据

D.压缩数据


7:HFile 数据格式中的 Magic 字段用于

A.存储随机数,防止数据损坏

B.存储数据的起点

C.存储数据块的起点


8:HFile 数据格式中的 Data 字段用于

A.存储实际的 KeyValue 数据

B.存储数据的起点

C.指定字段的长度

D.存储数据块的起点

D.指定字段的长度


9:HBase数据库的BlockCache缓存的数据块中,哪一项不一定能提高效率。

A.–ROOT-表

B…META.表

C.HFile index

D.普通的数据块


10:h0148. 关于MySQL分库分表的方案相关描述,错误的是:

A.当服务器性能出现瓶颈需要扩容时,常常采取“翻倍”分库增

加服务器的方案,导致资源的浪费。

B.一开始就对如何切分数据做好精心设计,一旦稍有不慎,设

计上出现了数据倾斜。

C.故障恢复需要不需要人工介入,运维简单。


11:h0149. 关于HBase的描述,错误的是:

A.HBase是一个开源的、分布式的、版本化的、非关系的数据库,它参考了Google的Bigtable。

B.HBase™是Hadoop数据库,是一个分布式、可伸缩、大数据存储区。

C.目标是在商用硬件集群之上托管非常大的表----数十亿行X百万列。

D.只能用来存储结构化的数据


三:填空题

1:HBase的分布式存储的最小单元是

Region


2:HBase的存储的最小单元是

Hfile


四:主观题

1:简述HBase写数据流程?

1:zookeeper中存储了meta表的region信息,从meta表中获取相应的region信息,然后找到meta表的数据。
2:根据namespace、表名和rowkey根据meta表的数据找到写入数据对应的region信息。
3:找到对应的regionserver。
4:把数据分别写到Hlog和MemStore上一份。
5:MemStore达到一个阀值后则把数据刷成一个StoreFile文件。若MemStore中的数据有丢失,则可以从HLog上恢复。
6:当多个StoreFile文件达到一定的大小后,会触发Compact合并操作,合并为一个StoreFile,这里同时进行版本的合并和数据删除。
7:当Compace后,逐步形成越来越大的StoreFile后,会触发Spilt操作,把当前的StoreFile分成两个,这里相当于把一个大的regio分割成两个region。


2:HBase的数据模型有哪些?

1:行健(rowkey)是字节数组,是表中每条记录的“主健“,方便快速查找。
2:行(row)由行健(rowkey)唯一标识。
3:列族(column family)行的数据按列族分组cf,创建表的时候定义,不轻易修改。
4:限定字符(column qualifier)列里面的数据定位通过列限定符每个CF可以有一个或多个列成员。
5:单元(cell)行健,列族和列限定符一起确定一个单元。
6:时间版本(version)单元值有时间版本,用时间戳来标识默认1个。
7:时间戳(timestamp)每个cell可能有多个版本,它们之间用时间戳区分。


3:简述HBase的特点有哪些?

1:基于hadoop的hdfs存储,zookeeper进行管理。
2:适合存储半结构化或非结构化的数据。
3:HBase为null的记录不会被存储。
4:HBase是主从架构,HMaster作为主节点,HRegionServer作为从节点


4:HBase的rowkey设计原则有哪些?

1:长度原则:建议越短越好,不要超过16个字节。
2:散列原则:建议将rowkey的高位作为散列字段,由程序循环生成,低位放时间字段,这一将提高数据均衡分布在每个Regionserver
实现负载均衡。
3:唯一原则:必须在设计上保证其唯一性。


目录
相关文章
|
前端开发 Java 关系型数据库
超市商品管理系统的设计与实现(论文+源码)_kaic
超市商品管理系统的设计与实现(论文+源码)_kaic
|
12月前
|
人工智能 自动驾驶 云栖大会
大模型赋能智能座舱,NVIDIA 深度适配通义千问大模型
9月20日杭州云栖大会上, NVIDIA DRIVE Orin系统级芯片实现了与阿里云通义千问多模态大模型Qwen2-VL的深度适配。阿里云、斑马智行联合NVIDIA英伟达推出舱驾融合大模型解决方案,基于通义大模型开发“能听会看”的智能座舱助理,让车内人员通过语音交流就能操作座舱内的各类应用,享受极致丰富的交互体验。
558 14
|
机器学习/深度学习 人工智能 数据可视化
大数据时代的数据可视化技术:趋势、挑战与未来展望
【7月更文挑战第22天】随着技术的不断进步和应用场景的不断拓展,数据可视化技术将在更多领域发挥更大的作用。未来,我们可以期待更加智能化、实时化、沉浸式和民主化的数据可视化解决方案的出现。同时,随着数据量的不断增加和数据类型的不断丰富,数据可视化技术也将面临更多的挑战和机遇。只有不断创新和优化技术才能满足日益增长的需求并推动数据可视化技术的持续发展。
1497 3
|
机器学习/深度学习 存储 数据可视化
特征选择的艺术:利用Scikit-learn提升模型性能
【7月更文第22天】在机器学习的实践中,特征选择是一项至关重要的步骤,它直接影响到模型的性能、训练速度以及对新数据的泛化能力。特征选择,或称为变量选择,旨在从原始特征集中识别并保留最相关、最有影响力的特征子集,同时剔除冗余或无关紧要的特征。本文将探讨特征选择的重要性,并通过使用Python中的Scikit-learn库演示几种有效的特征选择方法,以提升模型性能。
712 4
|
SQL 存储 关系型数据库
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!(下)
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!
1389 2
|
监控 Java API
Java一分钟之-JPA事务管理:PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW等
【6月更文挑战第14天】Java企业开发中,事务管理确保数据一致性,Spring事务管理核心概念包括`PROPAGATION_REQUIRED`和`PROPAGATION_REQUIRES_NEW`。前者在无事务时新建,有事务时加入,常用于保证业务方法在事务中执行。后者始终创建新事务,独立于当前事务,适用于需隔离影响的场景。理解其应用场景和易错点,合理配置事务传播行为,能提升应用的健壮性和性能。通过监控和日志优化事务策略是关键。
329 1
|
存储 缓存 监控
2024春招小红书前端面试题分享
2024春招小红书前端面试题分享
276 3
|
存储 JavaScript 前端开发
JavaScript 自定义对象 及 new()原理与实现 如何完整地手写实现new
JavaScript 自定义对象 及 new()原理与实现 如何完整地手写实现new
289 0
|
存储 数据可视化 数据挖掘
MySQL数据分析实战:销售和用户行为分析案例分享
MySQL是一种常用的关系型数据库管理系统,可以用来存储和管理大量的数据。除了存储数据,MySQL还可以用来进行数据分析。在本文中,我将介绍如何使用MySQL进行数据分析,并提供一些实际的示例。
2368 3
|
XML Java 数据库连接
MyBatis配置与映射文件深度解析
这样在映射文件中就可以使用简短的别名User代替完整的类名com.example.User。
786 0