首页 > 技术文章 > HBase Maven 工程模块梳理

YFYkuner 2016-02-05 16:02 原文

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 的实现。

推荐阅读