hbase简单介绍
来源:互联网 发布:淘宝网页怎么发链接 编辑:程序博客网 时间:2024/06/06 14:15
hbase简单介绍
一、 概念
hbase是高可靠、面向列的、可伸缩的、分布式的数据库,适用于非结构化的数据存储数据库;
运行在hadoop之上,受zookeeper管理。
二、数据模型
Row Key
Timestamp
Column Family
URI
Parser
r1
t3
url=http://
title=
t2
host=com
t1
r2
t5
url=http://
content=每天…
t4
host=com
Row key:行键,Table的主键,Table中的记录默认按照Row Key的字典序升序排序;
最大不超过64k,一般越短越好。
Timestamp:时间戳,每次数据操作对应的时间戳,可以看作是数据的version number;
Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以由任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。
但是,目前hbase对列簇超过2-3列支持不是太好,所以设计中最多不超过3列。列簇越少越好,设计表时预习设计好一个列簇。
Region:当Table随着记录数不断增加而变大后,会逐渐分裂成多份splits,成为regions,一个region由[startkey,endkey)表示,不同的region会被Master分配给相应RegionServer进行管理。Region相当于文件系统中划分的block块。
三、系统架构
Client:客户端与HMaster通信负责管理hbase的regionServer服务运行、数据迁移、资源划分。直接与regionServer通信负责数据的读写。
HRegionServer:主要负责响应用户I/O请求,向HDFS文件系统中读写数据,供region运行的服务器;内部管理了一系列HRegion对象。
HRegion:对应table中的一个region,一个table可以拆分为多个region.
HStore:包含两个部分,一个是MemStore,读写数据的内存缓冲区,当MemStore满值后会将内容向storeFile写入。storeFile基于HFile实现,是hdfs的二进制存储文件。当storeFile到了一定的阈值后会触发文件的合并。合并的过程中对列的版本数据进行合并和更新,合并包括大文件合并和小文件合并,控制好合并的minor和major阈值对性能提升很重要。当storefile合并大小到达一定阈值会触发split将region拆分。Hlog文件是在向MemStore写文件的同时要写入,避免宕机情况出现导致memstore中的数据丢失。
四、Mapreduce支持
Mepreduce不仅支持从hdfs中读写数据,还支持向hbase中读写数据。Mapreduce从hbase读写数据时Map端业务逻辑类不再继承Mapper,而是继承TableMapper;reduce端继承TableReduce;相关Job类中mapper和reduce的设置方式也有改变。
Map端从hbase的table中的各个region读数据,根据不同的key将读取的数据划分到各个分组中,然后分组数据向reduce端混排合并,合并后相同的key交给同一个reduce处理,然后将处理结果输出到hbase而不是hdfs中。
- HBase简单介绍
- HBase简单介绍
- hbase compaction 简单介绍
- hbase简单介绍
- Hbase列簇简单介绍
- Hbase列簇简单介绍
- HBase API的简单的介绍
- HBase(2.1)-HBase介绍
- HBase介绍
- hbase 介绍
- hbase 介绍
- HBase介绍
- hbase介绍
- Hbase介绍
- hbase介绍
- hbase 介绍
- HBASE介绍
- hbase介绍
- MATLAB与FPGA设计滤波器2-1
- 【JavaScript学习】Date类型
- CF834B-The Festive Evening
- Java源码阅读-TreeSet
- [Linux][问题解决]Linux访问本地网站可以,但是外部访问不行
- hbase简单介绍
- 【RocketMq】什么是,对比ActiveMq和Kafka
- 7月28日云栖精选夜读:【上报纸啦】95后大学生用机器学习PAI大战老年痴呆
- 三星电子电容器件识别
- 反射五
- idea的插件zookeeper
- javascript中正则表达式常用实例
- 关于ANSYS 17.2 的安装问题
- 使用cxf技术开发webService接口