目录

  • HBase命令总结
  • 前言
  • HBase Shell
  • 基本命令
  • 表操作命令
  • 创建表
  • 禁用表
  • 启用表
  • 查看表结构
  • 删除表
  • 数据操作命令
  • 插入数据
  • 获取数据
  • 删除数据
  • 扫描表
  • HBase REST
  • 基本命令
  • 表操作命令
  • 创建表
  • 禁用表
  • 启用表
  • 查看表结构
  • 删除表
  • 数据操作命令
  • 插入数据
  • 获取数据
  • 删除数据


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