HBase Shell相关
1.进入hbase命令行
./hbase shell
2.基本命令
显示hbase中的表List
list
查询user表中的所有信息Scan
scan 'users'
清空user表中的数据Truncate (等同于disable + drop + create)
truncate 'users'
删除表Drop
disable 'user'
drop 'user'
3.修改表结构
首先停用user表(新版本不用)disable 'user',最后再启用表 enable 'user'
添加新的列族f1
alter 'user',NAME =>'f1'
删除一个列族f1(不指定METHOD,则默认为添加列族)
alter 'user', NAME => 'f1', METHOD => 'delete'
或者
alter 'user', 'delete' => 'f1'
添加列族f1同时删除列族f2
alter 'user', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
将user表的f1列族版本号改为5
alter 'people', NAME => 'info', VERSIONS => 5
4.创建表
创建user表,包含info、data两个列族
create 'user', 'info', 'data'
create 'user', {NAME => 'info', VERSIONS => ''},{NAME => 'data', VERSIONS => ''}
5.删除数据
删除user表row key为rk0001,列标示符为info:name的数据
delete 'user', 'rk0001', 'info:name'
删除user表row key为rk0001,列标示符为info:name,timestamp为1392383705316的数据
delete 'user', 'rk0001', 'info:name', 1392383705316
6.增加数据
向user表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan
put 'user', 'rk0001', 'info:name', 'zhangsan'
7.查找数据
获取user表中row key为rk0001的所有信息
get 'user', 'rk0001'
获取user表中row key为rk0001,info列族的所有信息
get 'user', 'rk0001', 'info'
获取user表中row key为rk0001,info列族的name、age列标示符的信息
get 'user', 'rk0001', 'info:name', 'info:age'
获取user表中row key为rk0001,info和data两个列族的信息
get 'user', 'rk0001', 'info', 'data'
get 'user', 'rk0001', {COLUMN => ['info', 'data']}
get 'user', 'rk0001', {COLUMN => ['info:name', 'data:pic']}
获取user表中row key为rk0001,列族为info,版本号最新5个的信息
get 'user', 'rk0001', {COLUMN => 'info', VERSIONS => 5}
get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5}
//通过时间戳的范围查找数据cell,TIMERANGE=>[t1,t2] 是包含t1但不包含t2的时间段
//scan后面只有两个参数,只能跟 Table_Name + 限制条件
get 'user', 'rk0001', {COLUMN => 'info:name', VERSIONS => 5, TIMERANGE => [1392368783980, 1392380169184]}
scan 'user', {TIMERANGE => [1392368783980, 1392380169184]}
//查询user表中列族为info,RowKey范围是[rk0001, rk0003)的数据【不能使用get】
scan 'people', {COLUMNS => 'info', STARTROW => 'rk0001', ENDROW => 'rk0003'}
//设置cell只保存3个VERSION版本,旧的多余的就会被覆盖掉
//但是使用以下命令,还是会查询出5个版本,这是因为旧的版本会被打上删除标记,但在内存中,还未flush
//当hbase重启之后,被打上标记的记录,则不会在被查到
//RAW => true表示只能对列族COLUMNS => 'info'有效,对于COLUMNS => 'info:age' 则报错
scan 'users', {COLUMNS => 'info', RAW => true, VERSIONS => 5}
//查询user表中RowKey以rk字符开头的【FILTER关键字】
scan 'user',{FILTER=>"PrefixFilter('rk')"}
//获取二进制binary的值为“中国”的cell
//这是因为汉字存储在hbase中,是以二进制的形式存储【ValueFilter】
put 'user', 'rk0002', 'info:nationality', '中国'
get 'user', 'rk0002', {FILTER => "ValueFilter(=, 'binary:中国')"}
//获取user表中RowKey为rk0001,列标示符过滤器(QualifierFilter),即列名中含有a的信息
get 'people', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
//查询user表中列族为info和data且列标示符中含有a字符的信息
scan 'people', {COLUMNS => ['info', 'data'], FILTER => "(QualifierFilter(=,'substring:a'))"}
HBase Shell相关的更多相关文章
- Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结
转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbas ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- hbase shell 基本命令总结
访问hbase,以及操作hbase,命令不用使用分号hbase shell 进入hbase list 查看表hbase shell -d hbase(main):024:0> scan '.ME ...
- hbase基本概念和hbase shell常用命令用法
1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...
- Hbase Shell命令
1 启动HBase shell 2 HBase shell 命令 3 我们将以“一个学生成绩表”的例子来详细介绍常用的 HBase 命令及其使用方法. 这里 grad 对于表来说是一个列,course ...
- Hbase shell详情
HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...
- 【转载】HBase基本概念和hbase shell常用命令用法
1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实 ...
- HBase Shell(转)
HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...
- hbase基本概念和hbase shell经常使用命令使用方法
HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用H ...
随机推荐
- android基础---->发送和接收短信
收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android 作为出色的智能手机操作系统,自然也少不了在这方面的支持.今天我们开始自己创建一个简单的发送和接收短 ...
- 关于js的面向对象设计
function Person( name, age ){ this.name = name; this.age = age; this.sleep = function(){ alert( this ...
- Atlassian Confluence任意文件读取漏洞
Atlassian Confluence Atlassian Confluence是澳大利亚Atlassian公司的一套专业的企业知识管理与协同软件,也可以用于构建企业WiKi.该软件可实现团队成员之 ...
- nohop以及后台运行的相关集合
本文参考:https://blog.csdn.net/u011095110/article/details/78666833 1. 后台运行一个命令: & tar -czvf /mnt/aa. ...
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件
1.Flat button 用这个方法,前提是要把button的type设置为Flat button1.TabStop = false;button1.FlatAppearance.BorderSiz ...
- Python - 3.6 学习四
错误.调试和测试 程序运行中,可能会遇到BUG.用户输入异常数据以及其它环境的异常,这些都需要程序猿进行处理.Python提供了一套内置的异常处理机制,供程序猿使用,同时PDB提供了调试代码的功能,除 ...
- CentOS中用户不在 sudoers 文件中。此事将被报告。
首先切换为root用户 su root; 然后更改etc/sudoers文件的只读为可读可写可执行. sudo chmod 777 /etc/sudoers 输入visudo命令即可编辑文件,找到ro ...
- postgresql 表空间创建、删除
表空间:字面上理解就是表存储的物理空间,其实包括数据库的表.索引.序列等. 可以将表空间创建在服务器的不同分区,这样做的好处有: 一.如果初始化集群所在分区已经用光,可以方便的其他分区上创建表空间已达 ...
- apache代理weblogic集群办法
方法一: --关闭iptables和selinux --在apache配置文件httpd.conf最下面添加如下语句,然后重启apache: ServerName 127.0.0.1:80 NameV ...
- inotify+rsync安装配置
环境 系统 IP地址 主服务器 CentOS7.4 192.168.1.1 备份服务器 CentOS7.4 192.168.1.2 一.备份服务器 安装rsync(备) wget https://rs ...