`

hbase shell操作命令简介

 
阅读更多

 

 

0 hbase本身就是一个数据库,也只有一个数据库,只能在里面创建表, 其语法和MySQL没有任何参考性,

可比较性。

 

 

 

 

1 hbase shell操作:

 

在hbase/bin 目录下,输入hbase 可以看到hbase所有命令如下:

[root@master bin]# pwd
/usr/local/hbase/bin
[root@master bin]# hbase
Usage: hbase <command>
where <command> an option from one of these categories:

DBA TOOLS
  shell            run the HBase shell
  hbck             run the hbase 'fsck' tool
  hlog             write-ahead-log analyzer
  hfile            store file analyzer
  zkcli            run the ZooKeeper shell

PROCESS MANAGEMENT
  master           run an HBase HMaster node
  regionserver     run an HBase HRegionServer node
  zookeeper        run a Zookeeper server
  rest             run an HBase REST server
  thrift           run the HBase Thrift server
  thrift2          run the HBase Thrift2 server
  avro             run an HBase Avro server

PACKAGE MANAGEMENT
  classpath        dump hbase CLASSPATH
  version          print the version

 or
  CLASSNAME        run the class named CLASSNAME
Most commands print help when invoked w/o parameters.

 

 hbase通用命令(在hbase shell内执行)

 

a) 通用命令

  • status: 提供HBase的状态,例如,服务器的数量。

  • version: 提供正在使用HBase版本。

  • table_help: 表引用命令提供帮助。

  • whoami: 提供有关用户的信息。

 

b) 数据定义语言

 

hbase在表的操作命令:

  • create: 创建一个表。
  • list: 列出HBase的所有表。
  • disable: 禁用表。
  • is_disabled: 验证表是否被禁用。
  • enable: 启用一个表。
  • is_enabled: 验证表是否已启用。
  • describe: 提供了一个表的描述。
  • alter: 改变一个表。
  • exists: 验证表是否存在。
  • drop: 从HBase中删除表。
  • drop_all: 丢弃在命令中给出匹配“regex”的表。
  • Java Admin API: 在此之前所有的上述命令,Java提供了一个通过API编程来管理实现DDL功能。在这个org.apache.hadoop.hbase.client包中有HBaseAdmin和HTableDescriptor 这两个重要的类提供DDL功能。

 

  • put: 把指定列在指定的行中单元格的值在一个特定的表。
  • get: 取行或单元格的内容。
  • delete: 删除表中的单元格值。
  • deleteall: 删除给定行的所有单元格。
  • scan: 扫描并返回表数据。
  • count: 计数并返回表中的行的数目。
  • truncate: 禁用,删除和重新创建一个指定的表。
  • Java client API: 在此之前所有上述命令,Java提供了一个客户端API来实现DML功能,CRUD(创建检索更新删除)操作更多的是通过编程,在org.apache.hadoop.hbase.client包下。 在此包HTable 的 Put和Get是重要的类。

 

 

 应用案例:

 

0 执行/bin/hbase shell启动命令行
hbase(main):001:0> 
 

1.创建表 create : create 表名 列簇名称1,列簇名称2...
hbase(main):002:0> create 'stu','base','more'

创建表时候制定列族的高级特性 :
hbase(main):002:0> create 'stu', {NAME => 't',VERSION=1}
  

2.检测表是否存在 exists 或者 list
hbase(main):002:0> exists 'stu'
Table stu does exist                                                            
0 row(s) in 0.1000 seconds



显示所有表list:
hbase(main):003:0> list
TABLE                                                                           
stu                                                                             
1 row(s) in 0.0840 seconds

=> ["stu"]


3.插入记录 put
put 表名  行健  列簇:列名  列值
下面表示向hdfs文件bas插入两条记录

hbase(main):004:0> put 'stu','1','base:id','1'
0 row(s) in 0.4080 seconds

hbase(main):005:0> put 'stu','1','more:sex','man'     可以看到,不同列簇可以拥有相同的 row key
0 row(s) in 0.4560 seconds

hbase(main):006:0> put 'stu','1','base:name','zm'
0 row(s) in 0.5030 seconds

hbase(main):007:0> put 'stu','1','base:age','30'
0 row(s) in 0.0240 seconds


4.查询一条记录  get 表名 行健 
get 'stu','1'  将行健对应的列按行展示
hbase(main):008:0> get 'stu','1'
COLUMN                CELL                                                      
 base:age             timestamp=1426159948234, value=30                         
 base:id              timestamp=1426159671374, value=1                          
 base:name            timestamp=1426159926391, value=zm                         
 more:sex             timestamp=1426159691563, value=man                        
4 row(s) in 0.2220 seconds


或者查询行健下的具体列
hbase(main):009:0> get 'stu','1','base:name'
COLUMN                CELL                                                      
 base:name            timestamp=1426159926391, value=zm                         
1 row(s) in 0.0570 seconds

5.查询所有记录
scan 'stu'

hbase(main):015:0> scan  'stu'
ROW                   COLUMN+CELL                                               
 1                    column=base:age, timestamp=1426159948234, value=30        
 1                    column=base:id, timestamp=1426159671374, value=1          
 1                    column=base:name, timestamp=1426159926391, value=zm       
 1                    column=more:sex, timestamp=1426159691563, value=man       
 2                    column=base:age, timestamp=1426160220320, value=27        
 2                    column=base:id, timestamp=1426160248465, value=2          
 2                    column=base:name, timestamp=1426160205334, value=xin      
2 row(s) in 0.0500 seconds


使用scan查询某个列的所有数据:

hbase(main):004:0> scan 'stu',{COLUMNS=>'base:name'}

ROW                      COLUMN+CELL

 1                       column=base:name, timestamp=1426159926391, value=zm
 2                       column=base:name, timestamp=1426160205334, value=xin


6.删除一条记录
hbase(main):019:0> deleteall 'stu','2'
0 row(s) in 0.0290 seconds

hbase(main):020:0> get 'stu','2'
COLUMN                CELL                                                      
0 row(s) in 0.0240 seconds


7.删除一个列
hbase(main):016:0> delete 'stu','1','more:sex'
0 row(s) in 0.3190 seconds

hbase(main):017:0> get 'stu','1'
COLUMN                CELL                                                      
 base:age             timestamp=1426159948234, value=30                         
 base:id              timestamp=1426159671374, value=1                          
 base:name            timestamp=1426159926391, value=zm                         
3 row(s) in 0.0420 seconds


8.修改列值
hbase(main):021:0> put 'stu','1','base:age','31'
0 row(s) in 0.0150 seconds

hbase(main):022:0> get 'stu','1'
COLUMN                CELL                                                      
 base:age             timestamp=1426160505433, value=31     将最新的结果查出来                      
 base:id              timestamp=1426159671374, value=1                          
 base:name            timestamp=1426159926391, value=zm                         
3 row(s) in 0.0610 seconds


9.删除表
hbase(main):023:0> disable 'stu'
0 row(s) in 11.4010 seconds

hbase(main):025:0> drop 'stu'
0 row(s) in 0.8830 seconds

 


 alter :  删除表的所有列族

 

hbase shell 删除列族
hbase(main):002:0> alter 'stu','delete' => 'more'   这样就将stu表列族more和下面数据删除掉
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.1700 seconds

 

 清空表数据:  truncate  table

 

 

 hbase 表权限:    这几个在工作中暂时没有用到过

grant

我们可以从RWXCA组,其中给予零个或多个特权给用户

  • R - 代表读取权限
  • W - 代表写权限
  • X - 代表执行权限
  • C - 代表创建权限
  • A - 代表管理权限

下面给出是为用户“Tutorialspoint'授予所有权限的例子。

hbase(main):018:0> grant 'Tutorialspoint','RWXCA'

 

revoke

下面的代码撤消名为“Tutorialspoint”用户的所有权限。

hbase(main):006:0> revoke 'Tutorialspoint'

 

user_permission:  列出特定表的所有权限

下面的代码列出了“emp”表的所有用户权限。

hbase(main):013:0> user_permission 'emp'

 

 

 

 

hbase表清空分区数据,但是保留分区:

 

truncate_preserve 'youtable'

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    hbase_shell操作命令汇总

    以下是一些HBase Shell的基本操作命令的详细说明: 1. **创建表** (`create`): 使用`create`命令创建一个新的HBase表。例如: ``` create '表名称', '列名称 1','列名称 2','列名称 N' ``` 这里的`表名称`是你...

    hbase的shell操作

    根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...

    hbase shell操作指南

    以上是HBase Shell操作的基本知识点,通过这些知识点,用户可以在HBase Shell环境下方便地进行数据管理任务。需要注意的是,在实际操作过程中,应根据具体的HBase集群配置和需求进行相应的调整。

    hbase shell常用命令汇总

    ### HBase Shell 常用命令详解 #### 一、HBase Shell 概述 HBase Shell 是一个基于命令行的工具,用于与HBase进行交互。它提供了一系列丰富的命令来执行基本的数据管理任务,例如创建表、插入数据、查询数据等。...

    hbase_shell操作命令

    以下是一些重要的HBase Shell操作命令及其详细说明: 1. **查询服务器状态** `status` 命令用于查看集群的运行状态,包括活动服务器数量、故障服务器数量以及平均负载。例如,`hbase(main):024:0&gt;status` 返回的...

    hbase shell常用命令

    通过上述命令和示例,我们可以看到 HBase Shell 提供了一种非常直观的方式来操作 HBase 表中的数据,使得开发人员能够更加灵活地管理和使用数据。这对于快速开发和测试 HBase 应用程序是非常有帮助的。

    Hbase shell常用命令.docx

    在HBase这个分布式列式数据库中,Shell是一个用于与HBase交互的命令行工具,它提供了丰富的命令来执行各种操作。以下是对HBase Shell中一些常用命令的详细说明: 1. **创建表**: `create '表名称', '列族名称 1',...

    hadoop hbase_shell操作命令

    下面我们将深入探讨HBase Shell的一些常用操作命令。 1. **创建表**: 使用 `create` 命令可以创建HBase表。例如,创建一个名为'member'的表,包含'member_id'、'address'和'info'三列族: ```shell create '...

    Hadoop技术-HBaseShell常用命令.pptx

    HBase Shell提供了一些基本的操作命令,用于查询服务器状态、版本号、当前角色等信息。 1. 查询服务器运行状态:status 用于查询HBase服务器的当前运行状态。 2. 查询HBase版本号:version 用于查询当前HBase的版本...

    hbase shell命令详解

    以上只是HBase Shell常用的一些命令,实际上还有更多高级操作,如过滤器、性能调优等。熟练掌握这些命令,将有助于更好地管理和维护HBase数据库。在实际工作中,根据具体需求,结合HBase的API和Shell,可以实现各种...

    hadoop和HBase常用shell命令

    在工作中,我们经常需要使用 Hadoop 和 HBase 的 shell 命令来管理和操作数据。下面是 Hadoop 和 HBase 常用 shell 命令的详细介绍。 HBase shell 命令 ### 1. 进入 HBase shell Console 在使用 HBase 之前,我们...

    hbase基本概念和hbase shell常用命令用法

    HBase Shell是HBase提供的交互式命令行工具,用于操作HBase表。以下是一些常用的HBase Shell命令: 1. **create**:创建表,如`create 'testTable', 'cf'` 创建一个名为testTable的表,包含一个列族cf。 2. **put*...

    10-HBase Shell命令操作1

    在本文中,我们将深入探讨HBase Shell命令操作,特别是如何创建和管理HBase表,以及进行数据的增、删、改、查等基本操作。HBase是一个分布式、高性能的NoSQL数据库,它基于Google的Bigtable设计,适用于大规模数据...

    HBase基本shell命令.docx

    HBase基本shell命令 HBase是一个基于Hadoop的分布式NoSQL数据库,提供了一个shell命令行接口来管理和操作HBase中的数据。...这些命令是HBase基本shell命令的子集,掌握这些命令可以满足基本的数据管理和操作需求。

    Hbase shell及常用命令

    HBase shell及常用命令 HBase Shell是HBase数据库的...HBase Shell是一个功能强大的命令行工具,提供了丰富的命令来管理和操作HBase数据库。用户可以使用HBase Shell来创建表、插入数据、删除数据、查询数据等操作。

    实验三:熟悉常用的HBase操作

    实验的目标是让你理解HBase在Hadoop架构中的地位,以及掌握通过Shell命令和Java API进行基本操作的方法。 首先,让我们来看看实验的平台配置。实验要求的操作系统是Linux,这通常是大数据处理的首选平台,因为它...

    实验手册_HbaseShell.docx

    HBase Shell 实验手册 HBase Shell 是 Hadoop 家族中的一员,它是一个基于 HBase 的 Shell 交互式命令行工具,...本实验手册提供了 HBase Shell 的基本操作和管理,用户可以通过这些命令来管理和操作 HBase 数据库。

    Hbase 的shell基本操作

    下面是基于标题“Hbase的shell基本操作”和描述“hadoop集群环境下hbase的shell基本操作命令”,结合给定的部分内容,所生成的详细知识点: 1. 进入HBase命令行: 通过命令`hbase shell`可以进入HBase的命令行界面...

Global site tag (gtag.js) - Google Analytics