• hbase基础shell操作


    一 基础理论
    Hbase是一个非分布式的,面向列的开源数据库
    基于BigTable
    非结构化
    存储在HDFS上,备份机制
    线性扩展
    cluster / slave
    Hmaster
    Regionserver
    Hbase架构图:
     
    组件功能:
     
    Hbase数据模型:
    NameSpace
    Rowkey
    family_columns . hbase 表中的每个列,都归属与某个列族。列族是表的 schema 的一部分(而列不是),必须在 使用表之前定义。 列名都以列族作为前缀。例如 courses:history , courses:math 都属于 courses 这个列族。 访问控制、磁盘和内存的使用统计都是在列族层面进行的。列族越多,在取一行数据时所要参与 IO、搜寻的文件就越多,所以,如果没有必要,不要 设置太多的列族 
    (每个列族存放在不同的文件中,建表时列族越少越好)
    TimeStamp
    cell 没有数据类型,都是字节码的形式, cell有多版本,Rowket和列唯一确定cell,cell的版本通过时间戳来索引
    为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担, hbase 提供了两种数据版 本回收方式: 
           保存数据的最后 n 个版本
          保存最近一段时间内的版本(设置数据的生命周期 TTL)。
    用户可以针对每个列族进行设置。
    二 基本操作
    列出所有表:list
     
    创建表:第一种:列族设置默认属性 create 'userInfo', 'baseInfo', 'extrInfo'
        第二种:设置列族属性 create 'userInfo', { NAME => 'baseInfo', VERSIONS => 3 }, { NAME => 'extrInfo', VERSIONS => 2}
    增加删除列族:(在表有数据的情况下,要先disable表,才能alter)
        增加:alter 'userInfo', 'add_family'
               alter 'userInfo', { NAME => 'add_new', VERSIONS => 3 }
        删除:alter 'userInfo', 'delete'=> 'add_family'
             alter 'userInfo', { NAME => 'add_new', METHOD => 'delete' }
     
     
     
     
    表失效:is_disable 判断表是否失效
        is_enable 判断表是否有效
        disable 使表失效
        enable 使表生效
     
     
      删除表:drop 'userInfo' (删除之前要先disable)
     
    插入数据:可以指定时间戳
      put 'user_info', 'rk001', 'base_info:name', 'Rose'
      put 'user_info', 'rk001', 'base_info:age', 20, 1535359300000
     
    查询数据:
      get : 指定rowkey查询单条数据
      scan:指定条件,获取批量数据
      详情见 help 指定
     
     
    删除数据:指定 rowkey ,指定时间戳
     
    清空表数据:truncate 'user_info'

  • 相关阅读:
    学习记录(1):intellij idea 导入gradle
    javac不是内部或外部命令
    robot framework测试https接口实例
    py文件变成可执行exe ,遇到的问题及解决方法
    python 实现爬虫下载网页的方法
    [Usaco2009 Open]干草堆
    【题解】[USACO17JAN]Balanced Photo G
    【题解】[BalticOI 2014]friends
    从恒定状态出发,求解未知状态
    Scoi 组队
  • 原文地址:https://www.cnblogs.com/mlxx9527/p/9668922.html
Copyright © 2020-2023  润新知