admin 管理员组文章数量: 1184232
2024年3月20日发(作者:csh脚本如何实现循环)
HBase技术介绍简介 NOSQL数据库 入门
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布
式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集
群。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其
文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行
MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce
来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase
利用Zookeeper作为对应。
上图描述了Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,
Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为
HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和
failover机制。
此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据
统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,
使得传统数据库数据向HBase中迁移变的非常方便。
HBase访问接口
1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job
并行批处理HBase表数据
2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用
3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种
语言,适合其他异构系统在线访问HBase表数据
4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制
5. Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类
似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计
6. Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版
本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase
HBase数据模型Table & Column Family
Row
Key
Column Family
URI
url=
host=
Parser
title=天天特价
Timestamp
t3
r1 t2
t1
t5 url= content=每天„
host=
r2
t4
Ø Row Key: 行键,Table的主键,Table中的记录按照Row Key排序
Ø Timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的version
number
Ø Column Family:列簇,Table在水平方向有一个或者多个Column Family组
成,一个Column Family中可以由任意多个Column组成,即Column Family支
持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格
式存储,用户需要自行进行类型转换。
Table & Region
当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为
regions,一个region由[startkey,endkey)表示,不同的region会被Master
分配给相应的RegionServer进行管理:
版权声明:本文标题:HBase技术介绍简介 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1710899655a578618.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论