Hbase之shell操作

一.系统操作

  • status : 查看hbase集群状态
  • version : 查看hbase版本
  • whoami : 查看当前操作用户

二.DDL操作

  • 创建表
    • 模板
      • create ‘表名’,‘列族’,‘列族…’
  • 查看所有表
    • list
  • 禁用表
    • disable ‘表名’
  • 启用表
    • enable ‘表名’
  • 查看表的状态
    • is_disabled
    • is_enabled
  • 查看表描述
    • describe ‘表名’
  • 加入一个新列族
    • alter ‘表名’,‘列族’
  • 查看表是否存在
    • exists ‘表名’
  • 删除表(删除之前需要禁用)
    • dorp ‘表名’

三.DML操作

  • 插入数据
    • put ‘表名’,‘行id’,‘列族:列’,‘值’
  • 读取数据
    • scan关键字
      • scan ‘表名’
        • 查询所有
      • scan ‘表名’,{LIMIT=>2,STARTROW=>‘r1’,ENDROW=>‘r2’}
        • 范围查询
    • get 关键字
      • get ‘表名’,‘rowKey’
        • 查询某一行
      • get ‘表名’,‘rowKey’,‘列族:列’
        • 查询某行某列
  • 删除数据
    • 删除某个cell的数据
      • delete ‘表名’,‘行id’,‘列族:列’,时间戳 (注意时间戳不加引号)
      • delete ‘表名’,‘行id’,‘列族:列’
  • 清空表
    • truncate ‘表名’
  • 查看某个namespace的所有表
    • list_namespace_tables ‘namespace’
  • 关于hbase版本号的操作
    • 作用
      • 设置各个列族最多保留的版本数量
    • 查看各个列族的版本号数量设置
      • describe ‘表名’
    • 修改版本号
      • alter ‘表名’,NAME=>‘列族’,VERSIONS=>nums
  • 查看表数据,指定版本个数(不包含有删除标记的)
    • 查看全表
      • scan ‘表名’,{VERSIONS=>nums}
    • 查看指定列族
      • scan ‘表名’,{NAME=>‘列族’,VERSIONS=>nums}
      • 注意:hbase删除数据时,先加入删除标记,即标记删除法,待到minor 或是 major compaction再进行物理删除。
  • 查案表数据,指定版本个数(包含删除标记的数据)
    • 查看全表
      • scan ‘表名’,{RAW=>true,VERSIONS=>nums}
    • 查看指定列族
      • scan ‘表名’,{RAW=>true,NAME=>‘列族’,VERSIONS=>nums}

四.Namespace操作

  • 创建命名空间
    • create_namespace ‘命名空间’
  • 更改命名空间
    • hbase> alter_namespace ‘ns’, {METHOD => ‘set’, ‘PROPERTY_NAME’ => ‘PROPERTY_VALUE’}
  • 删除命名空间
    • drop_namespace ‘命名空间’
  • 查看描述信息
    • describe_namespace ‘命名空间’
  • 查看所有
    • list_namespace
  • 在指定namespace下创建表
    • create ‘namespace:table’:‘列族’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HBase提供了一个名为计数器(Counter)的特殊数据类型,用于在分布式环境下进行计数操作。计数器在HBase中是一种特殊的列族,可以在多个客户端之间进行原子性的加减操作,同时还支持读取操作。 要使用计数器,首先需要在HBase表中创建一个列族,并将其属性设置为“计数器”类型。然后,在客户端程序中,可以使用HBase API提供的Counter类来操作计数器。 下面是一个示例代码,用于在HBase中创建一个名为“mytable”的表,其中包含一个名为“mycf”的计数器列族: ```java Configuration conf = HBaseConfiguration.create(); Connection conn = ConnectionFactory.createConnection(conf); Admin admin = conn.getAdmin(); HTableDescriptor tableDesc = new HTableDescriptor(TableName.valueOf("mytable")); HColumnDescriptor cfDesc = new HColumnDescriptor("mycf"); cfDesc.setValue(Counter.COUNTER, "true"); tableDesc.addFamily(cfDesc); admin.createTable(tableDesc); ``` 创建计数器列族后,可以使用Counter类进行计数操作。例如,要对一个名为“mycounter”的计数器进行加1操作,可以使用以下代码: ```java Table table = conn.getTable(TableName.valueOf("mytable")); Counter counter = table.getCounter(new Get(Bytes.toBytes("rowkey"))); counter.incrementColumnValue(Bytes.toBytes("mycf"), Bytes.toBytes("mycounter"), 1); ``` 其中,“rowkey”为要操作的行键。在上面的代码中,首先通过getTable方法获取表对象,然后使用getCounter方法获取名为“mycounter”的计数器对象,并调用incrementColumnValue方法对其进行加1操作。 要读取计数器的值,可以使用getCounterValue方法。例如,要读取名为“mycounter”的计数器的值,可以使用以下代码: ```java long value = counter.getCounterValue(); ``` 这样就可以在HBase中使用计数器了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mizui_i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值