HBase高级

作者: Gallin_Qiu | 来源:发表于2017-11-03 18:15 被阅读0次

HBase Shell

  • help命令的使用:help "command"
  • 创建命名空间 create_namespace 'np_name'
  • 创建表 create 'np_name:tb_name','column_family_name' //如果指定属性(每个列簇可以指定读个属性)需要加{NAME=>'f1'},{NAME=>'f2'}、、等价于create 'np_name:tb_name' 'f1','f2'
  • HBase创建表的预分区:
    • region的划分依赖于rowkey,预先评估rowkey;
    • create 'table1' 'info',split=>['20151001000000','20151011000000','20151021000000']//创建4个分区
      第一个分区(null——20151001000000)
      二(20151001000000-20151011000000)
      三(20151011000000-20151021000000)
      四(20151021000000-null)
    • 另一种方法:创建split.txt
      然后在创建的时候create 'table1' 'info',split=>'address/split.txt'
    • 第三种根据16机制字符串生成rowkey(不常用)

案例:联通通话记录

  • 依据查询字段:Tel+time
  • 需要的字段:tel、time、area、active、对方号码、通话时长talktime
  • 如何设计表:核心:rowkey查询快
    • rowkey:手机号码+通话时间
    • scan startrow
      1827872747447_201703240924
      endrow
      1827872747447_201703241024
    • 实时性:如何在海量数据中快速查出需要的数据 ,核心思想:依据rowkey查询最快,对rowkey进行范围查询,前缀匹配
  • 新需求:针对话单查询
    • 索引表设计好rowkey;
    • 列是主表的rowkey

主表和索引表数据如何同步

  • 程序,事物
  • Phoenix(在Nosql数据库上提供sql支持):JDBC方式才能同步
  • solr

HBase表的属性:

  • 查看:describe table_name
  • 设置版本{version=>'1'}
  • 压缩compression

配置hbase snappy压缩

  • 配置Hadoop压缩
  • 配置hbase 将Hadoop-snappy.jar 放入到lib目录;在lib目录下创建一个native目录,再将ln -s $hadoop/lib/native $hbase/lib/native/linux-amd64-64
    重启

in_memery配置
blockcache配置每个regionserver只有一个blockcache

HBase表的compaction

  • 当memstore中的数据不断刷写入磁盘中以后,Hfile越来越多,解决的方法是合并,分为minor合并和major合并,minor合并是将多个小文件重写为数量较少的大文件,减少存储文件的数量,实际上是多路归并的思想,所以合并速度快,major合并是将一个region中的一个列簇的若干个HFile重写为一个新的HFile,相比前者,还有更独特的功能,能扫描所有的键值对,顺序重写,重写中会忽略做过删除标记的数据,例如,那些超过版本号限制和生存时间到期的数据也会在此过程中不再重写
  • 当合并文件达到单个文件的配置允许的最大值是会触发一个region的自动分割,region split成两个
  • 轻量级minor合并:把符合条件的最早生成的几个storefile合并成一个大的storefile,不会标记删除的数据和过期的数据,并且还行这个操作后还会有多个storefile文件
  • 重量级major合并:把所有的storefile合并成一个单一的storefile文件,在文件合并期间会删除标记为删除和过期的数据,同时会block(阻塞)所有客户端对该操作所属的region的请求知道合并完毕,最后删除已合并的storefile

HBase管理

  • HBase admin管理 HBaseServer_name:60010
  • 使用HBase shell管理表
  • WAL tool
  • HFile tool
  • HBase hbck

相关文章

  • HBase高级

    HBase Shell help命令的使用:help "command" 创建命名空间 create_namesp...

  • HBASE[2]高级特性

    wait ..

  • HBase 计数器

    HBase 高级功能:计数器,可以用于实时统计,而不需要离线批量处理。HBase 有一种机制可以将列当作计数器,支...

  • 16. HBase高级应用

    1. HBase存储中的3个核心机制 1.flush机制:当MemStore达到阈值之后,会flush成一个Sto...

  • Hbase运行机制

    本文思路 Hbase是什么 Hbase的优劣 Hbase架构 Hbase容错 Hbase使用总结 HBase是什么...

  • HBase in Practice - 性能、监控及问题解决

    李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开...

  • HBase极简入门

    本文作者:林伟兵,叩丁狼高级讲师。原创文章,转载请注明出处。 1. HBase概述 ​ 自1970年以来,RD...

  • 数据存储-Hbase基础

    Outline 什么是Hbase 为什么需要Hbase Hbase的基础概念 Hbase的架构 Hbase的读写操...

  • HBase集群的搭建

    HBase集群搭建 HBase官网:http://hbase.apache.org/[http://hbase.a...

  • 2018-07-09 HBase shell commands

    HBase shell commands As told in HBase introduction, HBase...

网友评论

    本文标题:HBase高级

    本文链接:https://www.haomeiwen.com/subject/wwutmxtx.html