全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

大数据面试题:经典面试题答疑(四)

发布时间:2022-06-08 16:47:00
发布人:syq

  大数据经典面试题答疑---经常问的原理问题总结(系列文章,持续更新),帮你解决大数据开发中的困扰。

  1. hive+MapReduce

  答案区:

  1.hbase

  1.1. hbase基础

  1.1.1. hbase数据模型

wpsAWvrBL

  1.1.2. Row Key

  概括:最大64KB;在hbase中以字节数组保存;不同rowkey按字典顺序排序

  1.1.3. Columns Family

  列簇 :HBASE表中的每个列,都归属于某个列族。列族是表的schema的一部分(而列不是),必须在使用表之前定义。列名都以列族作为前缀。例如 courses:history,courses:math都属于courses 这个列族。

  1.1.4. Cell

  由{row key, columnFamily, version} 唯一确定的单元。cell中 的数据是没有类型的,全部是字节码形式存贮。

  关键字:无类型、字节码

  1.1.5. Time Stamp

  HBASE 中通过rowkey和columns确定的为一个存贮单元称为cell。每个 cell都保存 着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBASE(在数据写入时自动 )赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版 本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

  为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,HBASE提供 了两种数据版本回收方式。

  一是保存数据的最后n个版本;

  二是保存最近一段 时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。

  1.2. 原理

wps16F6FI

  Region是Hbase中分布式存储和负载均衡的最小单元,不同Region分布到不同RegionServer上。

04

  Region虽然是分布式存储的最小单元,但并不是存储的最小单元。Region由一个或者多个Store组成,每个store保存一个columns family;每个Strore又由一个memStore和0至多个StoreFile组成,StoreFile包含HFile;memStore存储在内存中,StoreFile存储在HDFS上。

05

  1.2.1. 写流程:

  1、client向hregionserver发送写请求。

  2、hregionserver将数据写到hlog(write ahead log)。为了数据的持久化和恢复。

  3、hregionserver将数据写到内存(memstore)

  4、反馈client写成功。

  1.2.2. 数据flush:

  1、当memstore数据达到阈值(默认是128M)或region中所有Memstore的大小总和达到了上限(默认 2*128 = 256MB)会触发将将数据刷到硬盘,将内存中的数据删除,同时删除Hlog中的历史数据。

  2、并将数据存储到hdfs中。

  3、在hlog中做标记点。

  1.2.3. 数据compact(合并):

  将storefile 中的hfile 合并成大的hfile;

  在hbase中主要存在两种类型的compaction合并

  minor compaction 小合并

  在将Store中多个HFile合并为一个HFile,对于超过了TTL的数据、删除的数据仅仅只是做了标记。

  major compaction 大合并

  合并Store中所有的HFile为一个HFile,清理三类无意义数据:被删除的数据、TTL过期数据、版本号超过设定版本号的数据。默认7天执行一次,并且性能消耗非常大。手动触发:major_compact tableName

  1.2.4. 读流程

  1、通过zookeeper和-ROOT- .META.表定位region

  2、hbase会首先在布隆过滤器中查询(如果设置的话),然后MemStore,BlockCache(LRUCache存放最近读取数据),磁盘的HFile,找到并存储到BlockCache

  3、数据块会缓存

  1.2.5. hregionserver的职责

  HRegion Server主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBASE中最核心的模块。

  HRegion Server管理region。

  1.3. hbase 布隆过滤器

  不存在的一定不存在,存在的不一定存在;

  1.3.1. 布隆过滤器的存储在哪?

  对于hbase而言,当我们选择采用布隆过滤器之后,HBase会在生成StoreFile(HFile)时包含一份布隆过滤器结构的数据,称其为MetaBlock;MetaBlock与DataBlock(真实的KeyValue数据)一起由LRUBlockCache维护。

  cell较小的不适用布隆过滤器;

  按行读,更新数据量大,范围广(多列),用row;

  1.3.2. 协处理器

  observe:通过钩子函数,做一些预处理和后处理;类似于 RDBMS 中的触发器,主要在服务端工作,主要有三种

  regionObserve:处理数据修改数据;如:创建二级索引

  maserObserve:管理DDL类型操作

  WALObserve:提供针对WAL的钩子函数

  endpoint:类似于 RDBMS 中的存储过程,主要在服务端工作,可以实现 min、max、avg、sum、distinct、group by 等功能。

  更多关于大数据培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

相关文章

抖音小店怎么看购物车商品

抖音小店怎么看购物车商品

2023-10-08
蓝v抖音小店怎么开通店铺

蓝v抖音小店怎么开通店铺

2023-10-08
抖音小店运营人员招聘要求高吗

抖音小店运营人员招聘要求高吗

2023-10-08
抖音小店怎么更改类目名称

抖音小店怎么更改类目名称

2023-10-08

最新文章

上海物联网培训一般费用多少

上海物联网培训一般费用多少

2023-09-12
北京物联网培训费用大概多少

北京物联网培训费用大概多少

2023-09-12
北京物联网培训需要费用高不高

北京物联网培训需要费用高不高

2023-09-12
上海效果好的物联网培训费用高吗

上海效果好的物联网培训费用高吗

2023-09-12
在线咨询 免费试学 教程领取