HBase Maven 工程模块梳理
HBase Maven 工程各个 Model 功能说明:
github 地址:git://git.apache.org/hbase.git
版本:2.0.0-SNAPSHOT
- hbase-annotations
从 Hadoop 中 copy 来的的代码注解(所有的类、接口都要用到)。
包含两个注解:InterfaceAudience 和 InterfaceStability。
- hbase-assembly
项目构建相关。没有代码,xml 文件和一个 license 相关的声明。
- hbase-checkstyle
checkstyle 用到的配置文件。
- hbase-client
hbase 客户端。核心代码。
- hbase-common
hbase 客户端和服务端公用的类定义,工具等通用的功能性代码。核心代码。
- hbase-examples
官方提供的使用 hbase 样例代码。包括:c++、java、perl、php、protobuf、python、ruby、shell 等。其中,java 样例代码包含了:客户端、Coprocessor、mapreduce、thrift、thrift2,以及借助 protobuf 实现的 DataType 的使用。
- hbase-external-blockcache
hbase 运行中依赖的外部 blockcache 的实现。只有一个类:MemcachedBlockCache。
-
hbase-hadoop2-compat
-
hbase-hadoop2-compact
上述两个,是 hbase 兼容 hadoop 和 hadoop2 做的一些工作。
- hbase-it
it(Integration Test),HBase 的集成和系统测试。
- hbase-native-client
C 语言实现的 HBase 客户端。包含了同步、异步两种实现。
- hbase-prefix-tree
hbase 实现的以前缀树作为存储结构的数据块编解码器。
- hbase-procedure
hbase 『运行过程』的框架。『运行过程』是hbase 在运行中各种操作的一个抽象,有点类似于『任务』,控制每个任务的,启动、结束、中止、回滚等等。核心代码。
- hbase-protocol
hbase 通信用的基于 Prococuf 协议类。核心代码。
- hbase-resource-bundle
打包时候用到的 license 相关信息。
- hbase-rest
hbase 提供的 rest 接口的服务器端。
- hbase-server
hbase 服务器端。核心代码。
- hbase-shaded
管理 hbase 整个工程的外部依赖,分为客户端和服务器端两部分。这里是一个外部依赖的归口,其他模块不再关注外部以来的问题。
没有代码。
- hbase-shell
ruby 代码,hbase shell 相关。
- hbase-spark
hbase 与 spark 的集成。
java 代码:SparkSQL 过滤器下推的支持,以及一些集成的样例代码,。
scala 代码:用 scala 对 hbase 原有 java 接口的包装,以及一些样例代码。
- hbase-testing-util
hbase 测试用的工具类。没有代码。
- hbase-thrift
hbase thrift 服务器。包含 thrift 和 thrift2 的实现。