HBase Shell常用命令

概述:HBase是一个分布式的、高可靠性、高性能的存储系统,面向列的开源数据库。HBaseGoogle Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。 它是ApacheHadoop项目的子项目,适合于非结构化数据存储的数据库。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 

命令:disable 'tableName' --disable表。注:修改表结构时,必须要先disable表。

命令:enable 'tableName' --使表可用

命令:drop 'tableName' --删除表

HBase基本命令
下面我们再看看看HBase的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:

名称
命令表达式
创建表create '表名称', '列名称1','列名称2','列名称N'
添加记录      put '表名称', '行名称', '列名称:', '值'
查看记录get '表名称', '行名称'
查看表中的记录总数count  '表名称'
删除记录delete  '表名' ,'行名称' , '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'
查看所有记录scan "表名称"  
查看某个表某个列中所有数据scan "表名称" , ['列名称:']
更新记录 就是重写一遍进行覆盖

 

HBase表DDL和DML操作:

1、创建表操作:

   创建表 create 'student','name','address'  

  说明:新建student表,该表有两列 名称和地址,名称只有一个,address可以有多个,

 

2、插入操作:

插入一条记录,只能插入某列put 'student','row1','name','tom' 

说明:student有中插入记录,记录的row值为row1,name的值为tom

 插入列

 地址簇插入家庭地址put 'student','row1','address:home','ShiDai Street'

 地址簇插入学校地址put 'student','row1','address:school','BinAn Street'

 查询学生的家庭地址get 'student','row1',{COLUMN=>'address:home'}

 

3. 更新操作:

  根据row值 查询一条记录get 'student','row1'

  根据row值更新name值 (系统会直接更新) put 'student','row1','name','tom2'

  再查询时,系统返回最新的值 get 'student','row1'

  根据timestamp查询更新之前的 namelsi

  get 'student','row1',{COLUMN=>'name',TIMESTAMP=>1301473112875}


5、删除操作d

删除Idtemp的值的“info:age ”:delete 'student','temp','info:age' ls

删除整行:        deleteall 'student','tom'

将整张表清空:    truncate ''student'

设置表不可用: disable 'student'

      删除表: drop 'student' 


6、查询操作

 查询数据库中所有的表:list

 查询student表中所有数据:Scan 'student'

 查看student表中address列族的所有数据:scan 'student',{COLUMNS =>'address'}

 Get一行:get ''student' , 'row1'

 查询表是否存在:exists 'student'

 查询表结构:describe 'student'

 查询服务器状态:status

 如:3 servers, 0 dead,1.0000 average load

 查询hbase版本:version

 如:0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011


7、其他操作:

判断表是否enable disableis_enabled 'student' is_disabled 'student'

关闭shell: exit


 学生表示例:

1. 创建表

 create 'student','name','address'  

 新建student表,该表有两列 名称和地址,名称只有一个,address可以有多个,

2.插入一条记录,只能插入某列

  put 'student','1','name','tom' 

 向student有中插入记录,记录的row值为1,列name的值为tom

3. 根据row值 查询一条记录

 get 'student','1'

 查询结果:

COLUMN                       CELL

 name:                       timestamp=1301473112875, value=tom

4. 根据row值更新name值 (系统会直接更新)

   put 'student','1','name','tom2'

5.再查询时,系统返回最新的值

  hbase(main):052:0> get 'student','1'

  COLUMN                       CELL

  name:                       timestamp=1301473425265, value=tom2

6.根据timestamp查询更新之前的 name值,

    get 'student','1',{COLUMN=>'name',TIMESTAMP=>1301473112875}

7. 给学生的地址簇插入家庭地址

 put 'student','1','address:home','shenzhen street'

8. 给学生的地址簇插入学校地址

 put 'student','1','address:school','huaqiangbei street'

9. 查询学生的家庭地址

 get 'student','1',{COLUMN=>'address:home'}


HBase ShellHBase的交互式命令行界面,用于管理HBase数据库和执行各种操作。以下是HBase Shell常用命令: 1. help:显示可用命令的帮助信息。 2. version:显示当前HBase Shell的版本号。 3. status:显示HBase集群的状态信息,包括RegionServer的数量和状态。 4. list:列出所有的。 5. create ‘table_name’, ‘column_family’:创建一个新,并指定列族。 6. disable ‘table_name’:禁用一个,停止对其进行读写操作。 7. enable ‘table_name’:启用一个,允许对其进行读写操作。 8. describe ‘table_name’:显示一个的结构信息,包括列族和列的详细信息。 9. alter ‘table_name’, {NAME => ‘column_family’, VERSIONS => ‘version_count’}:修改的列族或列的配置,例如修改列族的最大版本数目。 10. drop ‘table_name’:删除一个。 11. put ‘table_name’, ‘row_key’, ‘column_family:column’, ‘value’:向中插入一条数据。 12. get ‘table_name’, ‘row_key’:获取中指定行的数据。 13. scan ‘table_name’:扫描整个,获取所有数据。 14. delete ‘table_name’, ‘row_key’, ‘column_family:column’:删除中指定行的数据。 15. count ‘table_name’:统计中的行数。 这些命令只是HBase Shell中的一部分,还有其他更多的命令可用于管理和操作HBase数据库。通过使用这些命令,可以在HBase Shell中轻松地管理、插入和检索数据,以及执行其他与HBase相关的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值