hbase(二)--常用hbase shell,
一、简介
这里介绍,在hbase shell中,常用的表操作及数据操作。
二、执行shell的方式
1、交互式执行hbase shell, 即 bin/hbase shell
直接进入hbase shell,进行shell交互
2、以非交互方式执行hbase shell命令,格式如:echo " 命令 " | ${hbase_shell}
3、参非交互方式执行hbase shell文件,格式如:bin/hbase shell 文件
三、表操作
1、创建表
包含表名,列簇名,列簇可多个,逗号分隔
命令格式: ceate 'table' 'family','family'
2、查看所有表
命令格式: list
3、查看指定表
命令格式:desc 'table'
4、删除表
删除表,分两步:首先disable 表 ,再drop 表。
disable 'table'
drop 'table
四、数据操作
1、插入或更新数据(已经存在则更新)
命令格式: put 'table','rowkey','family:column','value'
2、查询指定rowkey数据
命令格式: get 'table','rowkey'
命令格式: get 'table','rowkey','family:column'
3、扫描表数据
命令格式: scan 'stu'
4、扫描表数据,LIMIT限制行数,COLUMNS限制显示列
命令格式: scan 'table',{COLUMNS=>['family:col'],LIMIT=>rows}
5、删除数据
命令格式: delete 'table','rowkey','family:column'
6、统计表中数据量
命令格式:命令格式: count 'table'
五、示例
请参数代码注释
#!/usr/bin/env bash hbase_shell='/home/china/programs/hbase/bin/hbase shell' #进入shell bin/hbase shell #以非交互方式执行命令 #命令格式: echo " 命令 " | ${hbase_shell} echo " create 'school', 'info' " | ${hbase_shell} #执行文件中的命令 #命令格式: bin/hbase shell 文件 ########################## 表操作 ############################# #创建表stu,列簇info,列簇可多个,逗号分隔 #命令格式: ceate 'table' 'family','family' echo " create 'stu', 'info' " | ${hbase_shell} echo " create 'teacher', 'info','extra','log' " | ${hbase_shell} #查看所有表 echo " list " | ${hbase_shell} #查看指定表定义 #命令格式: desc 'table' echo " desc 'stu' " | ${hbase_shell} echo " desc 'teacher' " | ${hbase_shell} #删除表,分两步:一,disable 表 二,drop 表 #命令格式: disable 'table' echo " disable 'stu' " | ${hbase_shell} #命令格式: drop 'table' echo " drop 'stu' " | ${hbase_shell} ##################################################################### ############################ 数据操作 ################################ #插入或更新数据(已经存在则更新) #命令格式: put 'table','rowkey','family:column','value' echo " put 'stu','row1','info:name','apple1' " | ${hbase_shell} echo " put 'stu','row1','info:age',18 " | ${hbase_shell} echo " put 'stu','row2','info:name','apple2' " | ${hbase_shell} echo " put 'stu','row2','info:age',18 " | ${hbase_shell} #查询指定rowkey数据 #命令格式: get 'table','rowkey' echo " get 'stu','row1' " | ${hbase_shell} #命令格式: get 'table','rowkey','family:column' echo " get 'stu','row1','info:name' " | ${hbase_shell} #扫描表数据 #命令格式: scan 'stu' echo " scan 'stu' " | ${hbase_shell} #扫描表数据,LIMIT限制行数,COLUMNS限制显示列 #命令格式: scan 'table',{COLUMNS=>['family:column'],LIMIT=>rows} echo " scan 'stu',{COLUMNS=>['info:name'],LIMIT=>1} " | ${hbase_shell} #删除数据 #命令格式: delete 'table','rowkey','family:column' echo " delete 'stu','row1','info:age' " | ${hbase_shell} #统计表中数据量 #命令格式: count 'table' echo " count 'stu'" | ${hbase_shell} echo " count 'stu',{INTERVAL=>1} " | ${hbase_shell} #####################################################################