微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

大数据面试hbase

hbase

1.hbase为什么要预分区?

如果创建表的时候没有做预分区,一个表就是一个region,一个region分裂之后变成两个region,两个region还是在同一台机器上。

为了解决数据倾斜问题,在创建表指定hbase表多个region分区规则,让数据负载在多台服务器上面。实现数据负载均衡,提高读写效率。

 

2.hbase创建预分区的几种方式?

1)命令行手动指定预分区,rowkey的范围负载多台服务器。

2)命令行,使用16进制算法生成预分区,rowkey按照字典排序。

3)java API方式创建预分区。

 

3.hbase中数据查询方式?

1)get rowkey  直接根据rowkey获取某一条数据。

2)scan startRow stopRow  根据rowkey的范围扫描。

3)scan tableName  全表扫描。

 

4.hbase中rowkey的创建原则?

1)结合业务主要对rowkey均匀负载和长度限制。

2)rowkey不能太长。10-100字节。

3)rowkey均匀散列,在高位随机生成一些数字均匀落在不同region服务器中,实现负载均衡。

 

5.hbase中二级索引是什么?

将业务上经常需要查询的数据存储到es中,先查询es中数据,详情再去查询hbase数据,以空间换时间。

 

6.行式存储和列式存储的区别?

1)行式:MysqL,oracle

                同一行数据放在同一个block块里面,数据写入快,适合查询属性字段。

2)列式:hbase

                同一列数据放在同一个block块里面,每一列数据单独存放,适合查询某几列数据,大量降低系统IO。

 

7.nosql与关系型数据库的区别?

1)存储格式。nosql存储格式是key,value形式。

2)查询速度。nosql更快。

3)成本。hbase,mongodb开源。oracle收费。

4)查询方式。nosql不能使用复杂的join查询

 

8.hbase如何优化?

1)JVM优化,设置多个线程进行垃圾回收。

2)延迟高的数据操作的等待时间,延长超时时间。

3)优化datanode允许最大文件打开数,hbase一般会同一时间操作大量文件

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐