Carbondata文件格式
数据格式定义
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来的