• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 大数据Hbase面试宝典(上)

发布时间:2019-07-03 19:05:17 浏览 7605 来源:博学谷资讯 作者:照照

    经历了水深火热的大数据学习,终于拨开云雾见天明了,同学们离成功就差了一步,那就是拿到大数据工程师的Offer。本文详细为同学们整理了一份大数据Hbase面试宝典

     

    大数据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面试题,即将面试的同学都收藏起来吧,希望对你们有所帮助。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 常用的数据分析方法论有哪些? 下一篇: 大数据Hbase面试宝典(中)

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码