Contents
  1. 1. 数据格式定义
  2. 2. 仓库存储结构
  3. 3. 然后对应研究parquet?orc?

数据格式定义

carbondata的文件格式使用thrift定义,在源码目录中:format/src/main/thrift/*.thrift,编译之后会在format/target/gen-java生成对应的类,并有setter和getter。

使用Thrift定义数据格式容易理解,可以打开各个文件查看具体的数据组成结构,这里简要说明各个文件对应的内容:

  • carbondata.thrift
    • 数据文件
  • carbondata_index.thrift
    • 索引文件
  • carbondata_index_merge.thrift
    • 合并的索引文件
  • dictionary.thrift
    • 字典
  • schema.thrift
    • 表定义相关

仓库存储结构

根据部署的环境配置,仓库存储在本地磁盘、HDFS、Alluxio等都是可以的,所以下面都是指目录下的路径。

参见蔡强的GitHub笔记:

文件存储结构

block和blocklet区别

任务分发逻辑
block/blocklet/合并

查询过程逻辑

加载逻辑

datamap逻辑,生成、使用

segment,index的概念可能是从lucence来的

然后对应研究parquet?orc?