Hbase指南
来源:互联网 发布:深圳海关进出口数据 编辑:程序博客网 时间:2024/05/22 18:14
1.HBase的数据模型
1.1 表(table)
1.2 行键(row key),类似于MySQL中的主键
行键是HBase表天然自带的。
1.3 列族(column family),列的集合
HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据,每个列族单独一个文件。
1.4 时间戳(timestamp),列(也称作标签、修饰符)的一个属性
行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
如果不指定时间戳或者版本,默认取最新的数据。
1.5 存储的数据都是字节数组
1.6 表中的数据是按照行键的顺序物理存储的
2.HBase的物理模型
2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。
许多个region存储在region server(单独的物理机器)中的。
这样,对表的操作转化为对多台region server的并行查询。
3.HBase的体系结构
3.1 HBase是主从式结构,HMaster、HRegionServer
4.HBase的伪分布搭建
4.1 在hadoop0上解压缩、重命名、设置环境变量HBASE_HOME
4.2 修改文件$HBASE_HOME/conf/hbase-env.sh,修改内容如下
export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=true
4.3 修改文件hbase-site.xml,修改内容如下
<property> <name>hbase.rootdir</name> <value>hdfs://hadoop2:9000/hbase</value></property><property> <name>hbase.cluster.distributed</name> <value>true</value></property><property> <name>hbase.zookeeper.quorum</name> <value>hadoop2</value></property><property> <name>dfs.replication</name> <value>1</value></property>
4.4 (可选)修改regionservers
4.5 启动,执行命令start-hbase.sh
注意:启动hbase之前要先启动hadoop,确保hadoop可写入数据。
60010端口查看集群状态
查看HRegionServer的启动信息
ps aux | grep HRegionServer
5. hbase shell操作
进入shell
hbase shell
help是帮助
exit退出
创建表
>create 'users','user_id','address','info'
表users,有三个列族user_id,address,info
列出全部表
>list
得到表的描述
>describe 'users'
删除表前必须disable
>disable 'users_tmp'
>drop 'users_tmp'
添加记录
put 'users','xiaoming','info:age','24';
put 'users','xiaoming','info:birthday','1987-06-17';
put 'users','xiaoming','info:company','alibaba';
put 'users','xiaoming','address:contry','china';
put 'users','xiaoming','address:province','zhejiang';
put 'users','xiaoming','address:city','hangzhou';
获取一条记录
1.取得一个rowkey的所有数据
>get 'users','xiaoming'
2.获取一个rowkey,一个列族的所有数据
>get 'users','xiaoming','info'
3.获取一个rowkey,一个列族中一个列的所有数据
get 'users','xiaoming','info:age'
更新记录
>put 'users','xiaoming','info:age' ,'29'
>get 'users','xiaoming','info:age'
>put 'users','xiaoming','info:age' ,'30'
>get 'users','xiaoming','info:age'
添加不同的version,查询只会查到最新的结果
获取单元格数据的版本数据
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}
获取单元格数据的某个版本数据
〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}
全表扫描
>scan 'users'
删除xiaoming值的'info:age'字段
>delete 'users','xiaoming','info:age'
>get 'users','xiaoming'
删除整行
>deleteall 'users','xiaoming'
统计表的行数
>count 'users'
truncate删除
hbase(main):066:0> truncate 'users'
Truncating 'users' table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table...
0 row(s) in 4.2800 seconds
6. HBase Java API操作
0 0
- Hbase指南
- c++连接hbase指南
- Hbase 权威指南
- HBase权威指南 翻译
- hbase界面操作指南
- HBase权威指南中文版
- HBase分布式安装指南
- hbase编程指南
- hbase 安装指南
- hbase编程指南
- hbase安装指南
- HBase性能优化指南
- hadoop 权威指南 HBase
- Hbase 快速启动指南
- HBase性能优化指南
- hbase编程指南
- hbase编程指南
- Hbase安装指南pdf
- 开源推荐系统 Myrrix
- GNU emacs 24 与 emacs 23 的区别
- 专业源于态度
- Linux共享库路径配置
- Median of Two Sorted Arrays
- Hbase指南
- 记Win8安装Kubuntu双系统的那些事...
- 36-Linux-磁盘管理-LVM-扩展与缩减
- 其他跟踪代码设置 GA谷歌分析技巧
- 别处收集的,收藏下!
- HDU 1166 敌兵布阵 树状数组||线段树
- 出站链接跟踪代码设置 GA谷歌分析技巧
- Stack数据结构的模板实现
- android中的多媒体