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进行管理:


本文标签: 数据 支持 利用 语言 适合