MapReduce 和 Spark 的 Cube 计算,其实没你想的那么神秘,背后就是分批+多层聚合的套路。Apache Kylin在这方面做得还挺顺,搭配 HBase、Hive 啥的,搞个 OLAP 挺香的。Cube 构建基本上就是一套 ETL 流程,先提维度、再编码聚合,一股脑塞进 HFile。等你习惯了流程,写起BatchCubingJobBuilder2.java也不难,逻辑还蛮清晰。