美文网首页
Hadop之Hbase

Hadop之Hbase

作者: 汤汤的汤 | 来源:发表于2020-04-26 12:14 被阅读0次

    介绍

    Hbase是非关系型分布式数据库

    Hbase区分与传统关系数据库的特点

    • 数据类型:Hbase采用简单的数据模型,把数据存储为未经解释的字符串。
    • 数据操作:HBase操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除、清空等,因为HBase在设计上就避免了复杂的表和表之间的关系。
    • 存储模式:关系数据库是基于行模式存储的。HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。
    • 数据索引:关系数据库通常可以针对不同列构建复杂的多个索引,以提高数据访问性能。HBase只有一个索引——行键。
    • 数据维护:在关系数据库中,更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖后就不会存在。而在HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个新的版本,旧有的版本仍然保留。
    • 可伸缩性:可灵活的水平扩展。

    Hbase的数据模型

    示例
    • 表:HBase采用表来组织数据,表由行和列组成,列划分为若干列族。
    • 行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。
    • 列族:一个HBase表被分组成许多“列族”(Column Family)的集合,它是基本的访问控制单元。
    • 列限定符:列族里的数据通过限定符(或列)来定位。
    • 单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[]
    • 时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。

    Hbase基本操作

    • 创建表
      1.create 'table', 'column_family_1','column_family_2','column_family_3'..
    • 赋值
      2.put 'test','row1','cf:a','va'--------为表test按行键row1为列族中的列a赋值为va
    • 查找
    3.scan 'test'------------------------查看表中的所有信息
    4.get 'test','row1'------------------查看表中指定行的信息
    5.get 'test','row1','cf:a'------------------查看表中指定行的列族某列信息
    6.get 'test','row1','cf','cg'------------------查看表中指定行的多个列族信息
    
    • 删表
      7.删除表:先 disable 'test'使处于无效状态,再drop 'test' 删除表
    • 退出
      quit

    参考:https://www.jianshu.com/p/53864dc3f7b4
    https://www.cnblogs.com/Transkai/p/10748536.html
    https://www.jianshu.com/p/1dabb1a7374f
    https://www.cnblogs.com/qingyunzong/p/8681490.html

    感谢以上参考文章作者提供的帮助!此博客只是作一个简单的笔记归纳!再次感谢!

    相关文章

      网友评论

          本文标题:Hadop之Hbase

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