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'
相关推荐
以下是一些HBase Shell的基本操作命令的详细说明: 1. **创建表** (`create`): 使用`create`命令创建一个新的HBase表。例如: ``` create '表名称', '列名称 1','列名称 2','列名称 N' ``` 这里的`表名称`是你...
根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...
以上是HBase Shell操作的基本知识点,通过这些知识点,用户可以在HBase Shell环境下方便地进行数据管理任务。需要注意的是,在实际操作过程中,应根据具体的HBase集群配置和需求进行相应的调整。
### HBase Shell 常用命令详解 #### 一、HBase Shell 概述 HBase Shell 是一个基于命令行的工具,用于与HBase进行交互。它提供了一系列丰富的命令来执行基本的数据管理任务,例如创建表、插入数据、查询数据等。...
以下是一些重要的HBase Shell操作命令及其详细说明: 1. **查询服务器状态** `status` 命令用于查看集群的运行状态,包括活动服务器数量、故障服务器数量以及平均负载。例如,`hbase(main):024:0>status` 返回的...
通过上述命令和示例,我们可以看到 HBase Shell 提供了一种非常直观的方式来操作 HBase 表中的数据,使得开发人员能够更加灵活地管理和使用数据。这对于快速开发和测试 HBase 应用程序是非常有帮助的。
在HBase这个分布式列式数据库中,Shell是一个用于与HBase交互的命令行工具,它提供了丰富的命令来执行各种操作。以下是对HBase Shell中一些常用命令的详细说明: 1. **创建表**: `create '表名称', '列族名称 1',...
下面我们将深入探讨HBase Shell的一些常用操作命令。 1. **创建表**: 使用 `create` 命令可以创建HBase表。例如,创建一个名为'member'的表,包含'member_id'、'address'和'info'三列族: ```shell create '...
HBase Shell提供了一些基本的操作命令,用于查询服务器状态、版本号、当前角色等信息。 1. 查询服务器运行状态:status 用于查询HBase服务器的当前运行状态。 2. 查询HBase版本号:version 用于查询当前HBase的版本...
以上只是HBase Shell常用的一些命令,实际上还有更多高级操作,如过滤器、性能调优等。熟练掌握这些命令,将有助于更好地管理和维护HBase数据库。在实际工作中,根据具体需求,结合HBase的API和Shell,可以实现各种...
在工作中,我们经常需要使用 Hadoop 和 HBase 的 shell 命令来管理和操作数据。下面是 Hadoop 和 HBase 常用 shell 命令的详细介绍。 HBase shell 命令 ### 1. 进入 HBase shell Console 在使用 HBase 之前,我们...
HBase Shell是HBase提供的交互式命令行工具,用于操作HBase表。以下是一些常用的HBase Shell命令: 1. **create**:创建表,如`create 'testTable', 'cf'` 创建一个名为testTable的表,包含一个列族cf。 2. **put*...
在本文中,我们将深入探讨HBase Shell命令操作,特别是如何创建和管理HBase表,以及进行数据的增、删、改、查等基本操作。HBase是一个分布式、高性能的NoSQL数据库,它基于Google的Bigtable设计,适用于大规模数据...
HBase基本shell命令 HBase是一个基于Hadoop的分布式NoSQL数据库,提供了一个shell命令行接口来管理和操作HBase中的数据。...这些命令是HBase基本shell命令的子集,掌握这些命令可以满足基本的数据管理和操作需求。
HBase shell及常用命令 HBase Shell是HBase数据库的...HBase Shell是一个功能强大的命令行工具,提供了丰富的命令来管理和操作HBase数据库。用户可以使用HBase Shell来创建表、插入数据、删除数据、查询数据等操作。
实验的目标是让你理解HBase在Hadoop架构中的地位,以及掌握通过Shell命令和Java API进行基本操作的方法。 首先,让我们来看看实验的平台配置。实验要求的操作系统是Linux,这通常是大数据处理的首选平台,因为它...
HBase Shell 实验手册 HBase Shell 是 Hadoop 家族中的一员,它是一个基于 HBase 的 Shell 交互式命令行工具,...本实验手册提供了 HBase Shell 的基本操作和管理,用户可以通过这些命令来管理和操作 HBase 数据库。
下面是基于标题“Hbase的shell基本操作”和描述“hadoop集群环境下hbase的shell基本操作命令”,结合给定的部分内容,所生成的详细知识点: 1. 进入HBase命令行: 通过命令`hbase shell`可以进入HBase的命令行界面...