在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
经历了水深火热的大数据学习,终于拨开云雾见天明了,同学们离成功就差了一步,那就是拿到大数据工程师的Offer。本文详细为同学们整理了一份大数据Hbase面试宝典。

一、hbase的特点是什么?
1Hbase一个分布式的基于列式存储的数据库,基于Hadoop的 hdfs 存储,zookeeper 进行管理。
2.Hbase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。
3.Hbase 为 null 的记录不会被存储。
4.基于的表包含 rowkey,时间戳,和列族。新写入数据时,时间戳更新, 同时可以查询到以前的版本。
5.hbase 是主从架构。hmaster 作为主节点,hregionserver 作为从节点。
二、hbase如何导入数据?
使用MapReduce Job方式,根据HbaseAPI 编写java脚本,将文本文件用文件流的方式截取,然后存储到多个字符串数组中,在put方法下,通过对表中的列族进行for循环遍历列名,用if判断列名后进行for循环调用put.add的方法对列族下每一个列进行设值,每个列族下有几个了就赋值几次!没有表先对先创建表。
三、hbase 的存储结构?
Hbase 中的每张表都通过行键(rowkey)按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过256M就要被分割成两个,由HRegionServer管理,管理哪些HRegion由Hmaster分配。HRegion存取一个子表时,会创建一个HRegion对象,然后对表的每个列族(Column Family)创建一个store实例, 每个store都会有0个或多个StoreFile与之对应,每个StoreFile都会对应一个HFile,HFile就是实际的存储文件,因此,一个HRegion还拥有一个MemStore实例。
四、Hbase 和 hive 有什么区别?hive 与 hbase 的底层存储是什么?hive 是产生的原因是什么?habase 是为了弥补 hadoop 的什么缺陷?
答:共同点:
1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储区别:
2.Hive是建立在Hadoop之上为了减少MapReducejobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。
5.Hive本身不存储和计算数据,它完全依赖于HDFS和 MapReduce,Hive中的表纯逻辑。
6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行
7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。
8.hbase是列存储。
9.hdfs 作为底层存储,hdfs 是存放文件的系统,而 Hbase 负责组织文件。
10.hive 需要用到 hdfs 存储文件,需要用到 MapReduce 计算框架。解释下 hbase 实时查询的原理
答:实时查询,可以认为是从内存中查询,一般响应时间在 1 秒内。HBase 的机制是数据先写入到内存中,当数据量达到一定的量(如 128M),再写入磁盘中, 在内存中,是不进行数据的更新或合并操作的,只增加数据,这使得用户的写操作只要进入内存中就可以立即返回,保证了 HBase I/O 的高性能。
四、列簇怎么创建比较好?
rowKey 最好要创建有规则的 rowKey,即最好是有序的。HBase 中一张表最好只创建一到两个列族比较好,因为 HBase 不能很好的处理多个列族。
以上是小编给大家整理的大数据Hbase面试题,即将面试的同学都收藏起来吧,希望对你们有所帮助。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据面试题:flume 与 kafka 的整合
当你面试的时候突然被问到:flume 与 kafka 的整合。你会怎么回答?其实面试官提问的时候主要是想考察你对storm的理解,下面小编带大家一起分析这个问题的解答方式!
10849
2019-07-04 19:05:09
大数据面试:数据仓库工具hive面试题集锦
进入DATE时代,大数据技术成为互联网发展的核心要素之一。与此同时大数据开发工程师的薪资也成为行业内高薪的代表。想从事大数据开发需要掌握多种核心技术:Hadoop、Hive、Storm、Spark、Scala等等。而且这些技术知识点已经成为大数据工程师进入职场时面试中必备的考点。这里主要和大家分享一下数据仓库工具hive相关的面试题!
22167
2019-07-05 17:30:53
大数据面试题 Spark运行架构
Spark作为一种分布式的计算框架,类似于大数据开发中Hadoop生态圈的MapReduce,计算思想和MR非常相似,两者都是分而治之的思想,但使用率要比MR高很多。本文整理了关于Spark运行架构的大数据面试题,内容包括Spark运行的基本流程、架构特点、优势。
8676
2019-09-05 15:19:35
大数据工程师常见面试题 编程模型
在大数据工程师的面试过程中,编程模型的相关问题常常是绕不过去的一个考点。同时编程模型也是大数据工程师工作中非常重要的知识技能。下面就来讲讲Spout、Bolt、并行度、消息不丢失这几方面的内容,感兴趣的小伙伴就赶紧接着看下去吧!
9335
2019-10-14 18:46:44
大数据疑难解答 Hbase内部是什么机制?
众所周知,HBase是一个非关系型数据库,它的特征是分布式、列式存储、开源和版本化。无论是在大数据的面试中,还是大数据的工作中,这都是一个经常会出现的难题,然而却很少人能够说清Hbase内部机制。今天我们就花些时间聊聊Hbase内部是什么机制。
10259
2019-10-17 18:13:28
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息
