千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > HBase系列常见面试题汇总---HBase建表优化

HBase系列常见面试题汇总---HBase建表优化

来源:千锋教育
发布人:syq
时间: 2022-08-12 10:48:58 1660272538

  BloomFilter

  * 默认值为 NONE,布隆过滤器的作用是可以过滤掉大部分不存在目标查询值的 HFile(即略去不必要的磁盘扫描),可以有助于降低读取延迟。 配置方式: create 'table',{BLOOMFILTER =>'ROW |ROWCOL'} * ROW,表示对 Rowkey 进行布隆过滤,Rowkey 的哈希值在每次写入行时会被添加到布隆过滤器中,在读的时候就会通过布隆过滤器过滤掉大部分无效目标。 * ROWCOL 表示行键 + 列簇 + 列的哈希将在每次插入行时添加到布隆。

HBase建表优化

  Versions

  * 默认值为 1 ,我们知道 HBase 是一个多版本共存的数据库,多次写入相同的 rowkey + cf + col 则会产生多个版本的数据,在有些场景下多版本数据是有用的,需要把写入的数据做一个对比或者其他操作;但是如果我们不想保留那么多数据,只是想要覆盖原有值,那么将此参数设为 1 能节约 2/3 的空间。所以第一步搞清楚你的需求,是否需要多版本共存。 * 配置方式 create 'table',{VERSIONS=>'2'}

  Compression

  * 默认值为 NONE ,常用的压缩方式是 Snappy 和 LZO,它们的特点是用于热数据压缩,占用 CPU 少,解压/压缩速度较其他压缩方式快,但是压缩率较低。Snappy 与 LZO 相比,Snappy 整体性能优于 LZO,解压/压缩速度更快,但是压缩率稍低。各种压缩各有不同的特点,需要根据需求作出选择。 * create 'table',{NAME=>'info',COMPRESSION=>'snappy'}

  HBase 预分区

  默认情况下,在创建 HBase 表的时候会自动创建一个 Region 分区,当导入数据的时候, 所有的 HBase 客户端都向这一个 Region 写数据,直到这个 Region 足够大了才进行切分。这样的局限是很容易造成数据倾斜,影响读写效率。预分区是一种比较好的解决这些问题的方案,即预先创建一些空的 Regions,定义好每个 Region 存储的数据的范围,这样可以有效避免数据倾斜问题,多个 Region 同时工作,使得可以在集群内做数据的负载均衡。

  * 指定 rowkey 分割的点 create 'table1','f1',SPLITS => ['\x10\x00', '\x20\x00', '\x30\x00', '\x40\x00'] * rowkey 前缀完全随机 create 'table2','f1', { NUMREGIONS => 8 , SPLITALGO => 'UniformSplit' } * rowkey 是十六进制的字符串作为前缀的 create 'table3','f1', { NUMREGIONS => 10, SPLITALGO => 'HexStringSplit' } 其中,NUMREGIONS 为 region 的个数,一般按每个 egion 10GB 左右来计算 Region 数量,集群规模大,Region 数量可以适当取大一些。

  更多关于“大数据培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT