Hbase shell操作总结

进入hbase命令行 
./hbase shell

显示hbase中的表 
list

创建user表,包含info、data两个列族 
create ‘users’, ‘info’, ‘data’ 
//you can also use this command: 
// create ‘users’, {NAME => ‘info’, VERSIONS => ‘3’}

向表中插入信息,row key为rk0001,列族info中添加name列标示符,值为zhangsan 
put ‘users’, ‘rk0001’, ‘info:name’, ‘zhangsan’

向表中插入信息,row key为rk0001,列族info中添加gender列标示符,值为female 
put ‘user’, ‘rk0001’, ‘info:gender’, ‘female’

向表中插入信息,row key为rk0001,列族info中添加age列标示符,值为20 
put ‘user’, ‘rk0001’, ‘info:age’, 21

获取表中row key为rk0001的所有信息 
get ‘user’, ‘rk0001’

获取表中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 ‘USERS’, ‘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 => 2} 
get ‘user’, ‘rk0001’, {COLUMN => ‘info:name’, VERSIONS => 5} 
get ‘user’, ‘rk0001’, {COLUMN => ‘info:name’, VERSIONS => 5, TIMERANGE => [1392368783980, 1392380169184]}

获取user表中row key为rk0001,cell的值为zhangsan的信息 
get ‘people’, ‘rk0001’, {FILTER => “ValueFilter(=, ‘binary:图片’)”}

获取user表中row key为rk0001,列标示符中含有a的信息 
get ‘people’, ‘rk0001’, {FILTER => “(QualifierFilter(=,’substring:a’))”}

put ‘user’, ‘rk0002’, ‘info:name’, ‘fanbingbing’ 
put ‘user’, ‘rk0002’, ‘info:gender’, ‘female’ 
put ‘user’, ‘rk0002’, ‘info:nationality’, ‘中国’ 
get ‘user’, ‘rk0002’, {FILTER => “ValueFilter(=, ‘binary:中国’)”}

查询user表中的所有信息 
scan ‘user’

查询user表中列族为info的信息 
scan ‘user’, {COLUMNS => ‘info’} 
scan ‘user’, {COLUMNS => ‘info’, RAW => true, VERSIONS => 5} 
scan ‘persion’, {COLUMNS => ‘info’, RAW => true, VERSIONS => 3} 
查询user表中列族为info和data的信息 
scan ‘user’, {COLUMNS => [‘info’, ‘data’]} 
scan ‘user’, {COLUMNS => [‘info:name’, ‘data:pic’]}

查询user表中列族为info、列标示符为name的信息 
scan ‘user’, {COLUMNS => ‘info:name’}

查询user表中列族为info、列标示符为name的信息,并且版本最新的5个 
scan ‘user’, {COLUMNS => ‘info:name’, VERSIONS => 5}

查询user表中列族为info和data且列标示符中含有a字符的信息 
scan ‘user’, {COLUMNS => [‘info’, ‘data’], FILTER => “(QualifierFilter(=,’substring:a’))”}

查询user表中列族为info,rk范围是[rk0001, rk0003)的数据 
scan ‘people’, {COLUMNS => ‘info’, STARTROW => ‘rk0001’, ENDROW => ‘rk0003’}

查询user表中row key以rk字符开头的 
scan ‘user’,{FILTER=>”PrefixFilter(‘rk’)”}

查询user表中指定范围的数据 
scan ‘user’, {TIMERANGE => [1392368783980, 1392380169184]}

删除数据 
删除user表row key为rk0001,列标示符为info:name的数据 
delete ‘people’, ‘rk0001’, ‘info:name’ 
删除user表row key为rk0001,列标示符为info:name,timestamp为1392383705316的数据 
delete ‘user’, ‘rk0001’, ‘info:name’, 1392383705316

清空user表中的数据 
truncate ‘people’

修改表结构 
首先停用user表(新版本不用) 
disable ‘user’

添加两个列族f1和f2 
alter ‘people’, NAME => ‘f1’ 
alter ‘user’, NAME => ‘f2’ 
启用表 
enable ‘user’

disable ‘user’(新版本不用) 
删除一个列族: 
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 
启用表 
enable ‘user’

删除表 
disable ‘user’ 
drop ‘user’

get ‘person’, ‘rk0001’, {FILTER => “ValueFilter(=, ‘binary:中国’)”} 
get ‘person’, ‘rk0001’, {FILTER => “(QualifierFilter(=,’substring:a’))”} 
scan ‘person’, {COLUMNS => ‘info:name’} 
scan ‘person’, {COLUMNS => [‘info’, ‘data’], FILTER => “(QualifierFilter(=,’substring:a’))”} 
scan ‘person’, {COLUMNS => ‘info’, STARTROW => ‘rk0001’, ENDROW => ‘rk0003’}

scan ‘person’, {COLUMNS => ‘info’, STARTROW => ‘20140201’, ENDROW => ‘20140301’} 
scan ‘person’, {COLUMNS => ‘info:name’, TIMERANGE => [1395978233636, 1395987769587]} 
delete ‘person’, ‘rk0001’, ‘info:name’

alter ‘person’, NAME => ‘ffff’ 
alter ‘person’, NAME => ‘info’, VERSIONS => 10

get ‘user’, ‘rk0002’, {COLUMN => [‘info:name’, ‘data:pic’]}

时间: 2024-08-03 20:46:57

Hbase shell操作总结的相关文章

hbase shell操作语句

2019/2/19 星期二 hbase shell操作语句基本shell 命令 进入hbase 命令行./hbase shell显示hbase 中的表list创建user 表,包含info.data 两个列族create 'user', 'info1', 'data1'create 'user', {NAME => 'info', VERSIONS => '3'}向user 表中插入信息,row key 为rk0001,列族info 中添加name 列标示符,值为zhangsanput 'us

HBase ——Shell操作

HBase ——Shell操作 Q:你觉得HBase是什么? A:一种结构化的分布式数据存储系统,它基于列来存储数据. 基于HBase,可以实现以廉价PC机器集群存储海量数据的分布式数据库的解决方案. 一般用于数据量巨大但查询简单的场景,典型场景包括:账单记录,订单流水,交易记录,数据库的历史记录 建立表 HBase中没有数据库的概念,但是存在命名空间的概念,在使用上类似库名,但实际上只是一个目录名. 另外要记住,HBase中大部分数据都是以HashMap的形式组织的,因此很多时候都能看到类似

HBase Shell操作

Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库(RDBMS).是一种适用于非结构化数据存储的数据库,且Hbase是基于列的数据库. 下面的内容基于我们已经安装好hadoop.hbase. 一.hbase shell 介绍 hbase shell是用户和hbase 交互的接口之一,当然还可以通过其它方式比如java api等 下表列出了 hbase 基本命令

Hbase shell操作(完整版记录)

1.进入Hbase命令行 >hbase shell 退出命令行 >quit 2.创建表 >create 'users','user_id','address','info' 3.查看所有表 >list 4.查看表结构 >describe 'users' 5.删除表: >disable 'users' >drop 'users' 6.新增数据 >put 'users','xiaowang','info:age','26' >put 'users','xi

Hbase shell操作总结(1)

转:http://www.cnblogs.com/nexiyi/p/hbase_shell.html 进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之后再使用hbase shell进入可以使用whoami命令可查看当前用户 hbase(main)> whoami 表的管理1)查看有哪些表 hbase(main)> list 2)创建表 # 语法

Hbase框架原理及相关的知识点理解、Hbase访问MapReduce、Hbase访问Java API、Hbase shell及Hbase性能优化总结

转自:http://blog.csdn.net/zhongwen7710/article/details/39577431 本blog的内容包含: 第一部分:Hbase框架原理理解 第二部分:Hbase调用MapReduce函数使用理解 第三部分:Hbase调用Java API使用理解 第四部分:Hbase Shell操作 第五部分:Hbase建表.读写操作方式性能优化总结 第一部分:Hbase框架原理理解 概述 HBase是一个构建在HDFS上的分布式列存储系统:HBase是基于Google

HBase的SHELL操作和API

1.表结构: 2.SHELL操作 命令:hbase shell 显示表:list 创建表:create 'tb_name','column_family_1','column_family_2',...; 或者 create 'user', {NAME => 'column_family_1', VERSIONS => '3'} 插入数据:put 'tb_name','rk_on','column_family : key','value' 获取数据: 获取所有数据:get 'tb_name'

Hbase快速开始——shell操作

一. 介绍 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务.  HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family).       如上图所示,key1, key2,

hbase之python利用thrift操作hbase数据和shell操作

前沿: 以前都是用mongodb的,但是量大了,mongodb显得不那么靠谱,改成hbase撑起一个量级. HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是松散型数据. HBase提供了丰富的访问接口. HBase Shell Java clietn API Jython.Groovy DSL.Scala REST Thrift(Ruby.Pyt