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

2021-08-10 10:48:33 浏览数 (1)

前言

大家好,我是程序员manor。作为一名大数据专业学生、爱好者,深知面试重要性,很多学生已经进入暑假模式,暑假也不能懈怠,正值金九银十的秋招 接下来我准备用30天时间,基于大数据开发岗面试中的高频面试题,以每日5题的形式,带你过一遍常见面试题及恰如其分的解答。 相信只要一路走来,日积月累,我们终会在最高处见。 以古人的话共勉:道阻且长,行则将至;行而不辍,未来可期!

本栏目大数据开发岗高频面试题主要出自大数据技术专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。

历史回顾:

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day01】——Hive1

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day02】——Hive2

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day03】——Kafka1

大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day04】——Kafka2

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

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

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

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

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

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

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

文章目录

    • 前言
    • 面试题 01、MapReduce写入Hbase的原理和要求是什么?
    • 面试题02、什么是BulkLoad,用于什么场景?
    • 面试题 03、协处理器是什么?Hbase中提供了几种协处理器?
    • 面试题04、Hbase常见优化有哪些?
    • 面试题05、为什么Kafka不支持读写分离?
    • 到此7天的Hbase复习就结束了,呼~
    • 总结

停?

不要往下滑了,

默默想5min,

看看这5道面试题你都会吗?

代码语言:javascript复制
面试题 01、MapReduce写入Hbase的原理和要求是什么?
面试题02、什么是BulkLoad,用于什么场景?
面试题 03、协处理器是什么?Hbase中提供了几种协处理器?
面试题04、Hbase常见优化有哪些?
面试题05、为什么Kafka不支持读写分离?

以下答案仅供参考:

面试题 01、MapReduce写入Hbase的原理和要求是什么?

•MapReduce写入Hbase原理:封装了一个TableOutputFormat来实现写入Hbase的数据

•要求

–写入Hbase的数据的V的类型必须为Put类型

面试题02、什么是BulkLoad,用于什么场景?

•BulkLoad是指将数据直接转换为StoreFile文件,放入Hbase中,不经过Hbase的内存,避免大量数据进入内存,又从内存进入HDFS

•应用:大数据量批量写入Hbase

面试题 03、协处理器是什么?Hbase中提供了几种协处理器?

•协处理器指的是Hbase提供了一些开发接口,可以自定义开发一些功能集成到Hbase中

•类似于Hive中的UDF,当没有这个功能时,可以使用协处理器来自定义开发,让Hbase支持对应的功能

•协处理器分为两类

–Observer:观察者类,类似于监听器的实现

–Endpoint:终端者类,类似于存储过程的实现

面试题04、Hbase常见优化有哪些?

•内存优化:针对于不同的读写场景,合理的调整Memstore和BlockCache的比例大小

•压缩优化:对列族配置压缩存储,减少IO消耗

•布隆过滤:基于数据文件构建布隆索引,加快数据查询

•提高客户端缓存空间、指定每次扫描的行数、设置合适的GC算法等

•其他优化

–Linux句柄数优化,提高Linux线程、文件通道等资源句柄数

–HDFS句柄数优化:提高文件打开线程数、提高连接超时时间

–Zookeeper优化:优化连接超时时间

面试题05、为什么Kafka不支持读写分离?

在 Kafka 中,生产者写入消息、消费者读取消息的操作都是与 leader 副本进行交互的,从 而实现的是一种主写主读的生产消费模型。

Kafka 并不支持主写从读,因为主写从读有 2 个很明 显的缺点:

(1)数据一致性问题。数据从主节点转到从节点必然会有一个延时的时间窗口,这个时间 窗口会导致主从节点之间的数据不一致。某一时刻,在主节点和从节点中 A 数据的值都为 X, 之后将主节点中 A 的值修改为 Y,那么在这个变更通知到从节点之前,应用读取从节点中的 A 数据的值并不为最新的 Y,由此便产生了数据不一致的问题。

(2)延时问题。类似 Redis 这种组件,数据从写入主节点到同步至从节点中的过程需要经 历网络→主节点内存→网络→从节点内存这几个阶段,整个过程会耗费一定的时间。而在 Kafka 中,主从同步会比 Redis 更加耗时,它需要经历网络→主节点内存→主节点磁盘→网络→从节 点内存→从节点磁盘这几个阶段。对延时敏感的应用而言,主写从读的功能并不太适用。

到此7天的Hbase复习就结束了,呼~

总结

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

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

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

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

0 人点赞