自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java文件Queue实现

这是一个新的系列,将会记录在工作之外写的一些小的程序,而且是有一定难度并且实用的小代码,相信会给自己和给读者一些收获。这个系列的原因是有的时候回想自己的工作历程经常想不起曾经实现过哪些有意思的东西,总结提炼过哪些模型,这个系列将会记录这一切。 在前段时间的工作中曾经有个需求是要对一个内存中的Queue做持久化。组内的大牛使用了文件完成了一个FileBasedQueue,很有意思,把代码

2012-12-30 20:26:21 4415

原创 修改HBase表的TTL

工作中需要修改已经使用表的TTL,遇到了一些问题,做下记录首先,进入hbase shell1.disable表是必须的disable 'table'2.输入alter 'table',shell弹出一堆提示Here is some help for this command:Alter column family schema; pass table name and

2012-12-13 18:02:32 19293 1

原创 HBase 0.92.1 Scan 源码详细分析

从这篇文章开始终于要讨论比较正常版本的hbase了---0.92.1~~  Scan是hbase提供的非常重要的功能之一,我们的hbase分析系列就从这儿开始吧。 首先,我们有一些background的知识需要了解:1.HBase是如何区分不同记录的,大家可以参考http://punishzhou.iteye.com/blog/1266341,讲的比较详细2.Region,

2012-12-12 23:36:45 4862

原创 HBase 0.1.0 Flush流程源码分析

这篇文章将会分析和总结Flush流程的实现。Flush是LSM-Tree重要的实现步骤,对应理解hbase非常关键。简单来说,flush就是把内存中的数据flush到磁盘上,那么具体是怎么实现的纳?首先,regionserver在适当的时机调用region.flushcache。步骤如下:lock.readLock().lock(); //

2012-12-04 22:11:11 1320

原创 HBase 0.1.0 Put流程源码分析

put的过程相对比较简单,因为根据LSM-Tree的理论,写入操作会写入到内存中,然后再batch的写入磁盘。HBase的实现也是如此。首先,从客户端的batch操作中提取出所有的put操作并放在一个sortedmap中(localput):Text row = b.getRow(); long lockid = obtainRowLock(row); lon

2012-12-02 23:52:22 1225

原创 HBase 0.1.0 Get流程源码分析

在debug region一文中http://blog.csdn.net/mrtitan/article/details/8209994已经说到Hbase中每个region都是个独立的个体,本文会分析一次get操作在region层面是如何实现的。HBase系统架构:client的一次get操作到了regionserver后,regionserver会根据rowkey的范围选择对应的re

2012-12-02 18:55:58 1528

原创 HBase 0.1.0 数据存储基本结构详解

首先,还是拿出一张Hbase自带的结构图:HBase采用了LSM-Tree来解决数据存储问题。其中有几个核心数据结构:HRegion:一个独立的数据存储单元。存储从startkey-endkey的所有数据。HRegion中会根据每个columnfamily生成一个HStore对象HStore:存储了hbase中每个columnfamily的数据记录。数据结构上主要包括一个Memst

2012-12-02 18:26:26 1506

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除