大数据面试(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的创建原则?
结合业务主要对rowkey均匀负载和长度限制。
1)rowkey不能太长。10-100字节。
2)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一般会同一时间操作大量文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)