Druid 源码分析系列(一):源码环境搭建

更新至 Druid 0.15.1 版本

环境

  • Java 1.8.0_221
  • Apache Maven 3.6.1
  • IntelliJ IDEA 2019.2.1

下载

访问 Druid GitHub
,克隆代码:

git clone https://github.com/apache/incubator-druid.git

切换到 0.15.1-incubating 分支:

git checkout 0.15.1-incubating

编译

编译:

mvn clean package -Pdist -DskipTests

项目结构

0.15.1-incubating 分支,Druid 主要模块:

  • core 公共组件;
  • distribution 打分发包;
  • extendedset CONCISE Bitmap 压缩算法实现;
  • extensions-contrib 社区贡献扩展;
  • extensions-core 核心扩展;
  • hll HyperLogLog 算法实现;
  • indexing-hadoop Hadoop 索引相关;
  • indexing-service
    索引服务;
  • processing
    内部数据结构和处理;
  • server
    组合各种功能类,形成服务;
  • service 构建物理服务,包括命令行解析;
  • sql SQL 相关;
  • web-console 前端工程;

以上加粗为重点模块,将在接下来的博客中详细介绍。