HBase命令总结

前言

HBase是一个分布式、面向列的开源数据库,基于Hadoop的HDFS存储数据,提供实时读写能力。本文将介绍HBase的常用命令。

HBase Shell

HBase Shell是HBase提供的命令行工具,可以通过命令行与HBase进行交互。启动HBase Shell的命令为:

$ hbase shell

基本命令

以下是HBase Shell的基本命令:

  • help:查看帮助信息
  • version:查看HBase版本信息
  • status:查看HBase集群状态
  • list:列出所有表
  • create:创建表
  • disable:禁用表
  • enable:启用表
  • describe:查看表结构
  • drop:删除表
  • put:插入数据
  • get:获取数据
  • delete:删除数据
  • scan:扫描表

表操作命令

创建表

创建表的命令为:

create 'table_name', 'column_family'

其中,table_name为表名,column_family为列族名。可以创建多个列族,例如:

create 'table_name', {NAME => 'column_family_1'}, {NAME => 'column_family_2'}
禁用表

禁用表的命令为:

disable 'table_name'
启用表

启用表的命令为:

enable 'table_name'
查看表结构

查看表结构的命令为:

describe 'table_name'
删除表

删除表的命令为:

drop 'table_name'

数据操作命令

插入数据

插入数据的命令为:

put 'table_name', 'row_key', 'column_family:column', 'value'

其中,table_name为表名,row_key为行键,column_family为列族名,column为列名,value为值。例如:

put 'table_name', 'row1', 'column_family1:column1', 'value1'
获取数据

获取数据的命令为:

get 'table_name', 'row_key'

其中,table_name为表名,row_key为行键。例如:

get 'table_name', 'row1'
删除数据

删除数据的命令为:

delete 'table_name', 'row_key', 'column_family:column'

其中,table_name为表名,row_key为行键,column_family为列族名,column为列名。例如:

delete 'table_name', 'row1', 'column_family1:column1'
扫描表

扫描表的命令为:

scan 'table_name'

其中,table_name为表名。可以通过添加参数进行过滤,例如:

scan 'table_name', {COLUMNS => 'column_family:column'}

HBase REST

HBase REST是HBase提供的RESTful接口,可以通过HTTP协议与HBase进行交互。启动HBase REST的命令为:

$ hbase rest start

基本命令

以下是HBase REST的基本命令:

  • status:查看HBase REST状态
  • version:查看HBase版本信息
  • table:操作表

表操作命令

创建表

创建表的命令为:

PUT /table_name/schema

其中,table_name为表名,schema为表结构。例如:

PUT /table_name/schema
{
  "name": "table_name",
  "ColumnSchema": [
    {
      "name": "column_family_1",
      "MaxVersions": 1
    },
    {
      "name": "column_family_2",
      "MaxVersions": 1
    }
  ]
}
禁用表

禁用表的命令为:

POST /table_name/disable
启用表

启用表的命令为:

POST /table_name/enable
查看表结构

查看表结构的命令为:

GET /table_name/schema
删除表

删除表的命令为:

DELETE /table_name/schema

数据操作命令

插入数据

插入数据的命令为:

PUT /table_name/row_key/column_family:column

其中,table_name为表名,row_key为行键,column_family为列族名,column为列名。例如:

PUT /table_name/row1/column_family1:column1
{
  "value": "value1"
}
获取数据

获取数据的命令为:

GET /table_name/row_key/column_family:column

其中,table_name为表名,row_key为行键,column_family为列族名,column为列名。例如:

GET /table_name/row1/column_family1:column1
删除数据

删除数据的命令为:

DELETE /table_name/row_key/column_family:column

其中,table_name为表名,row_key为行键,column_family为列族名,column为列名。例如:

DELETE /table_name/row1/column_family1:column1
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐