hbase-写操作

Posted cnblog-ycc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hbase-写操作相关的知识,希望对你有一定的参考价值。

上一篇中学习hbase的client连接操作,这一篇文章中学习hbase的写操作。

regionServer结构:

技术分享图片

 

首先学习一下regionServer的构成,从图中可以很清楚的看出,regionServer包含了Hlog,HRegion,MemStore,store,StoreFile,HFile

HRegion:是分布式存储的和负载均衡最小单元,通过表按行切分的来。开始一张表只有一个region,当数据不断的写入,region不断的变大,超过设置的阈值,region开始分裂成两个region,master会对这些region重新分配到不同的regionserver上。

hlog(wal):hbase的日志存储,hbase的数据首先写入到hlog中,hlog的数据是存储在hdfs上的,当机器出现宕机情况,可以通过hlog快速的恢复丢失的数据。

store:region有一个或者多个store,一个列簇建立一个store,多个列簇有多个store,每个store中包含一个Memstore和多个StoreFile

MemStore:MemStore为写时缓存,hbase的数据写入并不是直接写入到Hfile中,而是先写入到MemStore中,大小超过设置的阈值后flush到HFile中

StoreFile:MemStore数据写入到文件后就是StoreFile,底层为HFile

HFile:数据存储在hdfs上的文件

数据的写入流程:

  • 数据首先写入到wal中
  • 然后数据写入到MemStore中
  • 当MemStore中的数据大小超过阈值,flush到HFile中

当机器出现宕机情况,因为wal和HFile中的数据存储在hdfs中,并不会出现数据丢失情况,数据丢失的是在MemStore中尚未flush到HFile的数据,可以从wal将这部分数据从新恢复

 

以上是关于hbase-写操作的主要内容,如果未能解决你的问题,请参考以下文章

大数据—— HBase 常见面试题整理

Spark操作HBase

HBase总结

HBase总结

HBase数据迁移实践操作篇

Hbase