HBase源码解析与开发实战
第一周:Hbase系统搭建、客户端API高级使用特性
- 学习内容:
- Hbase系统搭建与部署,Hbase shell操作;
- 客户端API操作,包括put、get、delete方法以及批量处理操作与客户端缓存,HTable类与Bytes类的使用;
- 比较过滤器、专用过滤器、附加过滤器、自定义过滤器的使用
- 计数器的使用,协处理器(coprocessor类、regionobserver类、masterobserver类、endpoint)的使用
- HTablePool类的使用
- 实战:搭建Hbase集群;使用Hbase shell进行表的操作;利用Hbase API编写客户端工具操作Hbase集群
- 收获内容:
- 熟练掌握Hbase集群的搭建,能够利用Hbase shell对数据进行操作与查询;
- 熟练使用客户端API,了解过滤器、计数器、协处理器以及HTablePool的使用
第二周:客户端API的管理功能、MapReduce系统集成
- 学习内容:
- 利用HbaseAdmin类进行Hbase表的管理,包括表、属性、列的操作;
- MapReduce集成,编写Mapreduce程序实现对HBase表的select,多表join,聚合操作,sort等功能
- 实战:通过利用Mapreduce实现数据的查询、聚合、连接等操作
- 收获内容:
- 掌握基于Hbase的Mapreduce程序编写,实现对表的操作
第三周:HBase系统架构原理
- 主要介绍:
- Hbase中数据的查找与传输,数据结构B+树、LSM树介绍;
- 数据存储格式HFile格式、KeyValue格式;
- WAL机制,HLog类、HLogKey类、WALEdit类、LogSyncer类、回放与持久性;
- region、-root-表的查找;
- LogEdit的生命周期与内部机制;
- Coprocessor实现;
- 二级索引HIndex原理
- 实战:自定义Coprocessor的实现;HIndex的使用
- 收获内容:
- 了解WAL机制
- Coprocessor的内部实现
- 二级索引HIndex的实现原理
第四周:HBase高级用法
- 主要介绍:
- Hbase表的行键设计,高表与宽表、部分键扫描、分页、时间序列、时间顺序关系;
- 高级模式;
- 辅助索引;
- 搜索集成;
- 事务;
- BloomFilter布隆过滤器;
- 隐式版本控制与自定义版本控制
- 实战:Hbase表的行健设计
- 收获内容:
- Hbase的高级用法,Hbase行健设计的一般方法与各自的特点
第五周:HBase系统集成与案例实战
- 主要介绍:
- 利用hbase、Solr和Solr-IndexBuilder,设计与实现一个在线Hbase数据存储与实时查询系统,构建基于Hbase的SQL查询系统
- 实战:设计与开发一套数据存储与实时查询系统
- 收获内容:
- 从系统设计、开发、集成的角度,掌握Hbase的各项操作与性能优化方案,构建自己的实时查询系统
相关资源