Hbase基本操作

Bertha 。 2022-04-16 02:15 600阅读 0赞

1.1 连接HBase

使用hbase shell命令来连接正在运行的Hbase实例,该命令位于HBase安装包下的bin/目录。HBase Shell提示符以>符号结束。

  1. $ ./bin/hbase shell
  2. hbase(main):001:0>

1.2 显示HBase Shell 帮助文档

输入help并按Enter键,可以显示HBase Shell的基本使用信息,和我们接下来会列举的一些命令类似。需要注意的是,表名,行,列都必须包含在引号内。

1.3 退出HBase Shell

使用quit命令,退出HBase Shell 并且断开和集群的连接,但此时HBase仍然在后台运行。

1.4 查看HBase状态

  1. hbase(main):024:0>status
  2. 3 servers, 0 dead,1.0000 average load

1.5 关闭HBase

bin/start-hbase.sh开启所有的HBase进程相同,bin/stop-hbase.sh用于关闭所有的HBase进程。

  1. $ ./bin/stop-hbase.sh
  2. stopping hbase....................
  3. $

二、数据定义(DDL)操作

2.1 创建新表

使用create命令来创建一个新的表。在创建的时候,必须指定表名和列族名。

  1. hbase(main):001:0> create 'test', 'cf'
  2. 0 row(s) in 0.4170 seconds
  3. => Hbase::Table - test

2.2 列举表信息

使用list命令:

  1. hbase(main):002:0> list 'test'
  2. TABLE
  3. test
  4. 1 row(s) in 0.0180 seconds
  5. => ["test"]

2.3 获取表描述

使用describe命令:

  1. hbase(main):003:0> describe 'test'
  2. DESCRIPTION ENABLED
  3. 'test', {NAME => 'f', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_ true
  4. SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2
  5. 147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false
  6. ', BLOCKCACHE => 'true'}
  7. 1 row(s) in 1.4430 seconds

2.4 删除表

注意:删除表先要停用表

disable ‘test’

is_enabled ‘test’

drop ‘test’

使用drop命令实现删除表的功能:

  1. hbase(main):011:0> drop 'test'
  2. 0 row(s) in 0.1370 seconds

2.5 检查表是否存在

  1. hbase(main):021:0>exists 'member'
  2. Table member doesexist
  3. 0 row(s) in 0.1610seconds

三、数据管理(DML)操作

3.1 向表中插入数据

使用put命令,将数据插入表中:

  1. hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
  2. 0 row(s) in 0.0850 seconds
  3. hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
  4. 0 row(s) in 0.0110 seconds
  5. hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
  6. 0 row(s) in 0.0100 seconds

可以看到,在本例中,一共插入了三条数据,一次一条。第一次插入到row1行,cf/:列,插入值为value1。所有列在HBase中有一个列族前缀。本例中的cf,后面跟着一个冒号还有一个列限定后缀,本例中是a

3.2 一次性扫描全表数据

一种获取HBase数据的方法是扫描,使用scan命令来扫描表的数据。可以限制限制扫描的范围,在本例中,获取的是所有的数据。

  1. hbase(main):006:0> scan 'test'
  2. ROW COLUMN+CELL
  3. row1 column=cf:a, timestamp=1421762485768, value=value1
  4. row2 column=cf:b, timestamp=1421762491785, value=value2
  5. row3 column=cf:c, timestamp=1421762496210, value=value3
  6. 3 row(s) in 0.0230 seconds

3.3 获取一个行数据

使用get命令来获得某一行的数据:

  1. hbase(main):007:0> get 'test', 'row1'
  2. COLUMN CELL
  3. cf:a timestamp=1421762485768, value=value1
  4. 1 row(s) in 0.0350 seconds

3.4 更新一条数据

使用put命令,本例中,将shiyanlou地址改为E

  1. hbase(main):004:0>put 'company','shiyanlou','info:address' ,'E'
  2. 0 row(s) in 0.0210seconds
  3. hbase(main):005:0>get 'company','shiyanlou','info:address'
  4. COLUMN CELL
  5. info:address timestamp=1321586571843, value=E
  6. 1 row(s) in 0.0180seconds

3.5 禁用一个表

如果你想要删除一个表或是修改它的设置,或者是其它的情况,都需要首先禁用该表。使用disable命令禁用表,enable命令重新启用表。

  1. hbase(main):008:0> disable 'test'
  2. 0 row(s) in 1.1820 seconds
  3. hbase(main):009:0> enable 'test'
  4. 0 row(s) in 0.1770 seconds

四、实验总结

本章介绍了HBase Shell的一些基本的常用命令,主要包括数据定义(DLL)的数据管理(DML)的一些操作命令。只能满足基本的HBase操作,更进一步的了解,请通过阅读HBase官方教程。

发表评论

表情:
评论列表 (有 0 条评论,600人围观)

还没有评论,来说两句吧...

相关阅读

    相关 HBase基本数据操作详解

    HBase基本数据操作详解【完整版,绝对精品】 存储,学习,共享 引言 之前详细写了一篇HBase过滤器的文章,今天把基础的表和数据相关操作补上。 本文档 参考最新

    相关 Hbase基本操作

    1.1 连接HBase 使用`hbase shell`命令来连接正在运行的Hbase实例,该命令位于HBase安装包下的bin/目录。HBase Shell提示符以>符号