由于工作中的需要,自去年9月开始接触kylin,并开始研读其源代码,自此已有半年有余,中间偶有中断,趁着还有些记忆,想记录下这半年所学。
整个学习过程包括以下两个部分:
- 概念累积阶段
- 官方文档
- 搭建测试平台
- 平台使用
2、源代码
- cube build
- sql query
- calcite
第一部分不做特别的解释,不会的google即可。第二部分是kylin的源代码阅读,我看的是kylin 2.1版本,其主要分为两个大块,第一个是cube的构建,逻辑比较清晰。第二个是sql查询,这里kylin基于calcite做了深度定制,比较难懂,需要对calcite的有一定理解。
本文集着重于kylin的源代码解析,中间有什么不对的地方,还望指出。