HBase

    xiaoxiao2022-07-02  121

    模型

    (1)逻辑模型

    Hbase的名字的来源是Hadoop database,即hadoop数据库。

    主要是从用户角度来考虑,即如何使用Hbase。

    (2)物理模型

    主要从实现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安装配置

    ①下载压缩包(选择与自己安装的Hadoop版本的兼容版本,见后面附录)

    选择稳定版hbase-1.4.9-bin.tar.gz,在Windows里面下载。

    ②将压缩包从Windows传输到Linux当前目录下

    SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

    ③安装

    解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

    ④配置环境变量

    在/etc/profile文件里添加HBase安装路径的配置信息,之后用source命令使配置生效。安装之后的目录为hbase-1.4.9,修改为hbase,所以我的HBase安装路径是/opt/module/hbase。

    测试HBase安装成功,命令hbase version,或hbase。

    存储格式

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

    1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile

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

    HBase设计模型

    HBase中的每一张表就是所谓的BigTable。BigTable会存储一系列的行记录,行记录有三个基本类型的定义:

    RowKey

                是行在BigTable中的唯一标识。

    TimeStamp:

                是每一次数据操作对应关联的时间戳,可以看作SVN的版本。

    Column:

                定义为<family>:<label>,通过这两部分可以指定唯一的数据的存储列,family的定义和修改需要对HBase进行类似于DB的DDL操作,

                而label,不需要定义直接可以使用,这也为动态定制列提供了一种手段。family另一个作用体现在物理存储优化读写操作上,同family

                的数据物理上保存的会比较接近,因此在业务设计的过程中可以利用这个特性。

    最新回复(0)