HBase你真的了解吗?

一、概述1.1 定义HBase – Hadoop Database , 是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库 。
1.2 优点

  • 创建Connectiond对象Connection connection = ConnectionFactory.createConnection(conf);
    • 注意Zookeeper集群的本地HOST配置
      • 创建DDL操作对象AdminAdmin admin = connection.getAdmin()
      • 通过Admin对象的方法操作名称空间、表
      • 关闭资源admin.close();
    • API之DDL操作
      • namespace
        • 创建
        • 查看
        • 修改
        • 删除
      • 抽取HBaseUtils
      • table
        • 创建
        • 判断表是否存在
        • 删除
      • 总结:DDL通过HBaseAdmin操作名称空间和表
    • API之DML操作
      • 注意:DML的操作对象不再是HBaseAdmin而是Table对象Table table = connection.getTable(TableName.valueOf("ns1:t1"));
      • 添加记录
        • Table的put(Put put);
      • 获取数据
        • get的基本使用
        • get指定的Family和Qualifier
      • 扫描数据
        • scan的基本使用
        • scan指定的Family和Qualifier
        • scan范围扫描
      • 删除数据
        • 删除行
        • 删除指定的Qualifier
    5.2 API高级
    • 过滤器
      • 语法格式scan '表名', { Filter => "过滤器(比较运算符, '比较器')" }
      • 查看过滤器的命令 , 能够查到支持的所有过滤器:show_filters
    • 行键过滤器
    ta-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
    过滤器名称作用示例
    • 列簇与列过滤器
    ta-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
    过滤器名称作用示例
    • 值过滤器
    ta-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
    【HBase你真的了解吗?】过滤器名称作用示例
    • 其他过滤器
    ta-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
    过滤器名称作用示例
    • 比较器
    e data-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">
    六、HBase核心6.1 架构分析
    HBase你真的了解吗?文章插图
    参考: HBase.ppt
    • HBase客户端
      • Shell命令接口
      • Java API编程接口
      • Thrift/REST API编程接口
      • MapReduce编程接口
      • 缓存hbase:meta数据
    • Zookeeper
      • Zookeeper为HBase选举 Master , 避免单点HMaster单点故障问题 , 实现HMaster的高可用
      • 存储所有 Region 的寻址入口:hbase:meta表在哪台服务器上 。
      • 实时监控 RegionServer 的状态 , 将 RegionServer 的上线和下线信息实时通知给 Master
      • 存储 HBase 的 Schema , 包括有哪些 Table , 每个 Table 有哪些 Column Family