HBase Shell基本常用操作命令

namespace(库)

锦囊命令

help 'namespace'

1. 创建

create_namespace 'liu_data'

2. 删除

  • 删除数据库时 , 库中不可以存在表 , 否则报错Only empty namespaces can be removed. Namespace liu_data has 1 tables
-- 先下线namespace
disable 'liu_data'
-- 删除namespace
drop_namespace 'liu_data'

3. 查看所有数据库

-- 查看当前命名空间
list_namespace 'liu_data'
-- 查看当前命名空间中的所有表格
list_namespace_tables 'liu_data'

Table(表)

锦囊命令

help 'create'

1. 创建表格

  • 创建表的时候没有指定namespace(库) , 则默认创建在系统 default namespace(库)
  • 创建表的时候不能直接指定列族包含的具体列 , 只有在[put](#1. 添加 (单条数据添加))数据时才可以添加
  • 在某个namespace(库)创建表 , 必须将namespace(库)放在表名的前面 , 并且建表语句中无需使用table关键字
  • 创建表的时候必须至少有一个列族 , 否则报错ERROR: Table must have at least one column family
-- 未指定namespace(库)则 , 默认创建在HBase的default
create 'normal_table','test_column_family'
-- 创建一个普通表
create 'liu_data:create_test_table_for_delete','test_column_family'
create 'liu_data:version_table_test',{NAME=>'test_column_family'}
  • 建表时预分切分表

    1. 指定数组切分数组 : 数组填写的是切分的rowkey

    2. 按照文件切分 : 文件必须已存在

-- 创建表格时提前预设rowkey的切分点,方法的属性参数['10','20','30']
create 'liu_data:split_test','test_column_family',SPLITS=>['10','20','30']
-- 创建表格时提前预设根据文件中存储的rowkey作为切分点,文件存放位置是Linux的路径
create 'liu_data:split_file_test','test_column_family',SPLITS_FILE=>'/root/liu_data/splits.txt'
  • 建指定版本表
-- 创建指定指定版本时VERSIONS属性是int类型,所以只需要写 整数 即可 , 无需加引号
create 'liu_data:version_table_test',{NAME=>'test_column_family', VERSIONS => 5}

2. 删除

-- 下线指定namespace中的表
disable 'liu_data:create_test_table_for_delete'
-- 删除指定namespace中的表
drop 'liu_data:create_test_table_for_delete'

3. 查看表

  • [查看指定命名空间中的所有表](#3. 查看所有数据库)
-- 查看表描述
describe 'liu_data:create_test_table'
-- 查看所有的namespace及其包含的表
list

4. 列族

  • 添加列族
-- 向已经创建的指定表中 添加列族
alter 'liu_data:create_test_table',NAME => 'col_insert_test'
-- 向已经创建的指定表中 添加多个列族
alter 'liu_data:create_test_table',{NAME=>'col_insert_test_mul1'},{NAME=>'col_insert_test_mul2'}
  • 删除列族
-- 删除某个列族
alter 'liu_data:create_test_table',NAME=>'f1',METHOD=>'delete'
-- 删除某个列数据 语法:delete <table>, <rowkey>, <family:column>
delete 'liu_data:install_status','963ef0d5570c60e7','aid:bid'

Data(数据)

1. put添加 (单条数据添加)

  • HBase通过put的方法添加相同rowkey , 列族 , 列的值 , 就可完成覆盖修改 , 原本的值不会立即被删除 , 而是被标记过期
-- 语法结构见下图
put 'liu_data:create_test_table','001','f1:name','Leon'
graph 
namespace-->liu_data
table-->create_test_table
rowkey-->001
column_family-->f1
column-->name
value-->Leon

2. scan查询

-- 查看表内所有的数据
scan 'liu_data:install_status'
-- 查询表内n行数据 limit
scan 'liu_data:install_status',LIMIT=>3
-- 查询指定<列族>的数据
scan 'liu_data:install_status',{COLUMNS => 'aid'}
-- 查询指定<列>的数据
scan 'liu_data:install_status',{COLUMNS => 'aid:adress'}
  • 条件查询 : 通过filter过滤器查询符合条件的值 , 类似sql中的where查询 , 效率相对偏低 , 通过扫描全表的方式实现
-- 查询指定值的数据
scan 'liu_data:install_status',FILTER=>"ValueFilter(=,'binary:2')"
scan 'liu_data:install_status',FILTER=>"ValueFilter(>,'binary:1')"

4. get查询

-- 查询某一行的数据
get 'liu_data:install_status','963efea06b26a189'

安全认证

锦囊命令

help 'grant'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值