由于工作中的需要,自去年9月開始接觸kylin,并開始研讀其源代碼,自此已有半年有余,中間偶有中斷,趁著還有些記憶,想記錄下這半年所學(xué)。
整個(gè)學(xué)習(xí)過程包括以下兩個(gè)部分:
- 概念累積階段
- 官方文檔
- 搭建測試平臺(tái)
- 平臺(tái)使用
2、源代碼
- cube build
- sql query
- calcite
第一部分不做特別的解釋,不會(huì)的google即可。第二部分是kylin的源代碼閱讀,我看的是kylin 2.1版本,其主要分為兩個(gè)大塊,第一個(gè)是cube的構(gòu)建,邏輯比較清晰。第二個(gè)是sql查詢,這里kylin基于calcite做了深度定制,比較難懂,需要對calcite的有一定理解。
本文集著重于kylin的源代碼解析,中間有什么不對的地方,還望指出。