MST

星途 面试题库

面试题:HBase中创建表时如何设置合适的列族及相关参数

在HBase中创建一张学生信息表,包含'基本信息'和'成绩信息'两个列族。假设基本信息列族可能会存储姓名、年龄等常规信息,成绩信息列族会存储多门课程成绩。请描述创建这张表时,如何合理设置列族的一些关键参数,如最大版本数、块缓存策略等,并给出创建表的HBase Shell命令。
18.8万 热度难度
数据库Hbase

知识考点

AI 面试

面试题答案

一键面试

列族关键参数设置

  1. 最大版本数
    • 基本信息列族:对于基本信息列族,如姓名、年龄等常规信息,一般不需要保留太多版本。可以将最大版本数设置为1,因为这些信息通常不会频繁变动且保留过多历史版本意义不大。
    • 成绩信息列族:成绩信息可能会有多次更新(如补考成绩等情况),所以可以适当设置较大的版本数,例如5,以保留一定的历史成绩记录。
  2. 块缓存策略
    • 基本信息列族:基本信息通常访问频率较高,适合将块缓存策略设置为开启(默认开启),这样可以提高查询性能,因为块缓存会缓存经常访问的数据块,下次查询相同数据时可直接从缓存获取,减少磁盘I/O。
    • 成绩信息列族:成绩信息访问频率可能相对较低,若系统内存紧张,可以考虑将块缓存策略设置为关闭,以节省内存空间,让更多内存用于其他操作或其他更频繁访问的数据。

创建表的HBase Shell命令

create '学生信息表', 
{NAME => '基本信息', VERSIONS => 1, BLOCKCACHE => true}, 
{NAME => '成绩信息', VERSIONS => 5, BLOCKCACHE => false}