大数据,机器学习,人工智能大数据 爬虫Python AI Sql玩转大数据

Hbase常用shell命令

2019-11-10  本文已影响0人  HideOnStream

前置工作:搭建好Hbase集群并启动,然后通过hbase shell命令进入Hbase的shell环境。

Hbase shell命令基本操作
  1. help
    帮助命令,查看hbase包含的命令,以及基本的用法。
help
  1. list
    查看表操作。查看当前数据库中有哪些表。
list
  1. create
    创建表操作。创建表的语法有2种。
create '表名', '列族1', '列族2', ...
# 或者
create '表名', {NANE => '列族1', VERSION => '版本数'}, {NAME => '列族2'}, ...
  1. disable && drop
    删除表操作。删除表之前,必须先让该表为disable状态,使用命令:
disable '表名'

然后,使用drop命令删除这个表:

drop '表名'
  1. put
    插入数据操作。向表中插入数据,使用put命令。
    语法格式为:
put '表名', 'rowkey', '列族名:列名', '值'
  1. get
    查询数据操作。
get '表名', 'rowkey'
get '表名', 'rowkey', '列族名1', '列族名2', ...
# 或者:
get '表名', 'rowkey', {COLUMN => ['列族1', '列族2', ...]}
get '表名', 'rowkey', '列族1:列1', '列族2:列2', ...
# 或者
get '表名', 'rowkey', {COLUMN => ['列族1:列1', '列族2:列2', ...]}
# 或者将上边2种语法结合起来
get '表名', 'rowkey', '列族1:列1', '列族2', ...
# 或者
get '表名', 'rowkey', {COLUMN => ['列族1:列1', '列族2']}
  1. scan
    查询数据操作。get与scan的区别在于,get只能获取一行数据的全部或者部分信息;scan可以获取一行或者多行的全部或者部分信息。
scan '表名'
scan '表名', {COLUMM => ['列族名1', '列族名2', ...]}
# 指定版本个数
scan '表名', {COLUMM => ['列族名1', '列族名2', ...], VERSION => 版本个数}
scan '表名', {COLUMN => ['列族1:列1', '列族2', ...]}
# 指定版本个数
scan '表名', {COLUMN => ['列族1:列1', '列族2', ...], VERSION => 版本个数}
scan '表名', {COLUMN => '列族名', STARTROW => '开始rowkey', ENDROW => '结束rowkey'}

包含STARTROW这行数据,不包括ENDROW这行数据。

scan '表名', {TIMERANGE => [时间戳1, 时间戳2]}
  1. delete
    删除数据操作。
delete '表名', 'rowkey'
delete '表名', 'rowkey', '列族名:列名'
# 指定版本号
delete '表名', 'rowkey', '列族名:列名', 时间戳
  1. alter
    修改表操作。
alter '表名', NAME => '列族', VERSION => 版本数
alter '表名', NAME => '列族名', METHOD => 'delete'
# 或者
alter '表名', 'delete' => 'info'
  1. truncate
    清空表操作。
truncate '表名'
  1. count
    统计表有多少数据行。
count '表名'
  1. FILTER
    过滤器。一般与get或者scan配合一起使用,对查询出来的结果进行过滤。
# 根据列的值过滤
get '表名', 'rowkey', {FILTER => "ValueFilter(=, 'binary:列的值')"}
# 多行
scan '表名', {COLUMN => '列族', FILTER => "ValueFilter(=, 'binary:列的值')"}
# 根据列的值包含子串过滤
scan '表名', {COLUMNS => ['列族', ...], FILTER => "(QualifierFilter(=,'substring:列值'))"}
或者
get '表名', 'rowkey', {FILTER => "(QualifierFilter(=,'substring:列值'))"}
scan '表名', {FILTER => "PrefixFilter('前缀值')"}
Hbase高级shell管理命令
  1. status
    例如显示服务器状态:
status 'node01'
  1. whoami
    显示hbase当前用户。
whoami
  1. list
    显示所有的表。
list
  1. count
    统计指定表的记录数。
count '表名'
  1. describe
    展示表的结构信息。
describe '表名'
  1. exists
    检查表是否存在,适用于表特别多的情况。
exists '表名'
  1. is_enabled && is_disabled
    检查表是否禁用或者启用。
is_enabled '表名'
is_disabled '表名'
  1. alter
    该命令可以改变表或者列族的模式,如:
alter '表名', NAME => '列族名', VERSIO N=> 版本数
alter '表名', 'delete' => '列族名'
  1. enable && disable
    启用或者禁用一张表。
enable '表名'
disable '表名'
上一篇下一篇

猜你喜欢

热点阅读