`
cumtheima
  • 浏览: 255849 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Hbase模型与框架分享(2)—Hbase简介

阅读更多
  • (1)定义:
        HBase : Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。
        利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
  • (2)HBase是Google Bigtable的开源实现
 

BigTable

HBase

文件存储系统

GFS

HDFS

数据处理

MapReduce

Hadoop MapReduce

协调服务

Chubby

Zookeeper

  • (3)hbase在hadoop生态系统中的位置

其中HBase位于结构化存储层

Hadoop HDFS为HBase提供了高可靠性的底层存储支持。

Hadoop MapReduce为HBase提供了高性能的计算能力

Zookeeper为HBase提供了稳定服务和failover机制。

Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。

 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

  • (4) Hbase访问接口

a.   Native Java API:

    最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据

b.   HBase Shell:

    HBase的命令行工具,最简单的接口,适合HBase管理使用

c.   Thrift Gateway:

    利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据

d.   REST Gateway:

    支持REST 风格的Http API访问HBase, 解除了语言限制

e.   Pig:

    可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似。

    本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计。

f.   Hive:

    可以使用类似SQL语言来访问HBase。

  • (5)hbase数据模型

 (a) Table & Column Family

(b). Table & Region

当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为regions,一个region由[startkey,endkey)表示,不同的region会被Master分配给相应的RegionServer进行管理:


(c) -ROOT- && .META. Table

HBase中有两张特殊的Table,-ROOT-和.META.

Ø  .META.:记录了用户表的Region信息,.META.可以有多个regoin

Ø  -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region

Ø  Zookeeper:记录了-ROOT-表的location

  • (5) hbase体系结构
  • (6) hbase存储格式

HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型:

a).  HFile:

    HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件。

    实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。

b). HLog File:

    HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File。

 

  • 大小: 94.9 KB
  • 大小: 10.9 KB
  • 大小: 42.4 KB
  • 大小: 39.1 KB
  • 大小: 229.8 KB
1
1
分享到:
评论

相关推荐

    \"MapReduce研究现状和毕玄-HBase简介与实践分享\"分享总结

    2. **YARN集成**:Apache Hadoop的资源管理器YARN(Yet Another Resource Negotiator)取代了原有的JobTracker,使得MapReduce任务与其他计算框架如Spark、Tez能更好地共存。 3. **新型计算模型**:虽然MapReduce在...

    Hbase权威指南(HBase: The Definitive Guide)

    - **高度集成**:HBase与Hadoop生态系统紧密结合,充分利用Hadoop提供的资源管理和计算框架。 - **MapReduce集成**:HBase支持MapReduce任务直接对存储在HBase中的数据进行处理,这大大简化了数据处理流程,提高了...

    HBase学习利器:HBase实战

    #### 一、HBase简介与背景 HBase是Apache Hadoop生态系统中的一个分布式、可扩展的列族数据库,它提供了类似Bigtable的能力,能够在大规模数据集上进行随机读写操作。HBase是基于Hadoop Distributed File System ...

    Hbase框架原理和开发指导-基础篇.docx

    2. 高性能:HBase支持随机实时读写操作,尤其适合大规模数据分析和在线应用。它采用了列式存储,允许快速访问特定列族或列的数据。 3. 可伸缩性:HBase可以根据需求动态扩展,通过增加节点来处理更多数据和更高的...

    HBase企业应用开发实战-高清

    接下来,书中深入探讨了HBase的框架设计,包括Region Server的职责、Zookeeper的角色、Master节点的管理功能以及HDFS如何为HBase提供底层存储支持。理解这些组件的工作机制,对于优化系统性能、处理故障和保证服务高...

    hbase数据可视化系统

    HBase的数据模型是列族式,数据按行和列进行组织,每个行都有一个唯一的RowKey,列族内则可以有任意多的列。 二、SpringBoot介绍 SpringBoot是Spring框架的一个扩展,旨在简化Spring应用的初始搭建以及开发过程。...

    hbase-1.1.5-bin版本的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL数据库

    与传统的关系型数据库类似,HBase 也以表的形式组织数据,表也由行和列组成;不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的...

    python thrift2 connect hbase

    Python Thrift2与HBase的交互是大数据领域中常见的操作,尤其在分布式系统中,为了高效地访问HBase存储的数据,开发者通常会采用Thrift2作为通信协议。Thrift是一种跨语言的服务框架,它允许不同编程语言之间的高效...

    hadoop及hbase部署与应用

    【Hadoop及Hbase部署与应用】涉及到的关键知识点如下: 1. **Hadoop基础**: - Hadoop是一个开源的分布式计算框架,基于Java开发,主要用于处理和存储大规模数据。它由两个主要组件组成:HDFS(Hadoop Distributed...

    hbase-1.2.1-bin.tar的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL 数据库

    与传统的关系型数据库类似,HBase 也以表的形式组织数据,表也由行和列组成;不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的...

    Hbase技术介绍

    - **计算框架:**如同Google Bigtable依赖于MapReduce处理海量数据,HBase也采用Hadoop MapReduce进行数据的并行处理,实现高效的数据分析和处理。 - **协同服务:**Zookeeper在HBase中扮演着关键角色,提供集群状态...

    hbase-0.90.5.tar.gz与hadoop0.20.2版本匹配

    HBase是Apache软件基金会开发的一个开源分布式数据库,它是基于Google的Bigtable模型设计的,用于存储大规模结构化数据。HBase构建在Hadoop之上,两者都是Apache Hadoop生态系统的重要组成部分。Hadoop是一个分布式...

    hbase-2.2.7-bin.tar.gz

    7. **MapReduce集成**:HBase可以与Hadoop的MapReduce框架无缝集成,进行批量数据处理和分析。 8. **REST和Thrift接口**:HBase提供了REST和Thrift接口,使得非Java语言也能轻松地访问HBase。 9. **监控和管理工具...

    windows中安装Hadoop与Hbase

    Hadoop是一个由Apache基金会开发的开源框架,用于存储和处理大规模数据,它通过可靠的分布式存储(HDFS)和分布式计算(MapReduce)模型来实现这些功能。Hbase则是建立在Hadoop之上的一个分布式NoSQL数据库,它特别...

    spring与hbase集成

    Spring 是一个强大的 Java 应用框架,提供了丰富的依赖注入、AOP(面向切面编程)和模块化功能,而 HBase 是基于 Hadoop 的分布式列式数据库,适用于实时读写和大规模数据存储。下面我们将详细探讨如何将 Spring 与 ...

    基于HBase的图书借阅数据挖掘模型设计与实现.pdf

    本文主要探讨了基于HBase的图书借阅数据挖掘模型的设计与实现,以及如何通过Hadoop技术来解决大量图书借阅数据存储与分析的难题。接下来,我们将从以下几个方面详细展开知识点介绍。 首先,HBase作为一个开源的非...

    Hadoop之HBase简介

    与Bigtable类似,HBase也利用MapReduce进行大规模数据处理,通过Hadoop的MapReduce框架处理HBase中的海量数据。此外,HBase还采用Zookeeper作为协同服务组件,提供服务的稳定性以及故障转移机制,确保系统的健壮性。...

    hbase-1.2.6

    6. **MapReduce集成**:HBase与Hadoop的MapReduce框架紧密集成,用于大规模批量处理和分析。MapReduce作业可以扫描整个HBase表,执行聚合或其他计算任务。 7. **API支持**:HBase提供了Java API,以及通过Thrift和...

Global site tag (gtag.js) - Google Analytics