Kylin 与 Spark SQL相比,有哪些差异和优势 缺乏、安全感 2022-07-14 03:42 161阅读 0赞 SparkSQL本质上是基于DAG模型的MPP。而Kylin 核心是Cube(多维立方体)。关于MPP和Cube预处理的差异,重复如下: > MPP \[1\] 的基本思路是增加机器来并行计算,从而提高查询速度。比如扫描8亿记录一台机器要处理1小时,但如果用100台机器来并行处理,就只要一分钟不到。再配合列式存储和一些索引,查询可以更快返回。要注意这里在线运算量并没有减小,8亿条记录还是要扫描一次,只是参与的机器多了,所以快了。 > MOLAP Cube \[2\]\[3\] 是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引而不访问原始数据从而提速。8亿记录的一个3维索引可能只有几万条记录,规模大大缩小,所以在线计算量大大减小,查询可以很快。索引表也可以采用列存储,并行扫描等MPP常用的技术。但多维索引要对多维度的各种组合作预计算,离线建索引需要较大计算量和时间,最终索引也会占用较多磁盘空间。 除了有无预处理的差异外,SparkSQL与Kylin对数据集大小的偏好也不一样。如果数据可以基本放入内存,Spark的内存缓存会让SparkSQL有好的表现。但对于超大规模的数据集,Spark也不能避免频繁的磁盘读写,性能会大幅下降。反过来Kylin的Cube预处理会大幅减小在线数据规模,对于超大规模数据更有优势。 \[1\] [https://en.wikipedia.org/wiki/Massively\_parallel\_(computing)][https_en.wikipedia.org_wiki_Massively_parallel_computing] \[2\] [https://en.wikipedia.org/wiki/MOLAP][https_en.wikipedia.org_wiki_MOLAP] \[3\] [https://en.wikipedia.org/wiki/OLAP\_cube][https_en.wikipedia.org_wiki_OLAP_cube] 本文转载自小象问答文章:[Kylin 与 Spark SQL相比,有哪些差异和优势][Kylin _ Spark SQL] [https_en.wikipedia.org_wiki_Massively_parallel_computing]: https://en.wikipedia.org/wiki/Massively_parallel_%28computing%29 [https_en.wikipedia.org_wiki_MOLAP]: https://en.wikipedia.org/wiki/MOLAP [https_en.wikipedia.org_wiki_OLAP_cube]: https://en.wikipedia.org/wiki/OLAP_cube [Kylin _ Spark SQL]: http://wenda.chinahadoop.cn/question/867
还没有评论,来说两句吧...