bandaoyu 2017-07-16 14:13 采纳率: 55.6%
浏览 2597
已结题

pentaho,Kylin, Mondrian, Saiku之间到底是什么样的关系?

pentaho,Kylin, Mondrian, Saiku之间到底是什么样的关系?感觉开源的东西名字好乱。
百度查到:
pentaho是一个BI平台,集成了
◆ ETL工具:Enhydra/Kettle也可以其他
◆ OLAP Server:Mondrian也可以其他
◆ OLAP展示:JPivot也可以其他
◆ 数据挖掘组件:Weka也可以其他
百度Saiku查到:
Saiku成立于2008年,由Tom Barber和Paul Stoellberger研发。最初叫做Pentaho分析工具,起初是基于OLAP4J库用GWT包装的一个前端分析工具。经过多年的演化、重写之后,于2010年,改名为Saiku。

那么我就可以认为Saiku是pentaho的最新版,所以好了,我可以不用理会
pentaho了,Saiku是pentaho的最新版那么应该包含:
◆ ETL工具:Enhydra/Kettle也可以其他
◆ OLAP Server:Mondrian也可以其他
◆ OLAP展示:JPivot也可以其他
◆ 数据挖掘组件:Weka也可以其他

百度:Apache Kylin查到:
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。
那么我是否可以认为Apache Kylin和Mondrian同样是OLAP引擎,只不过Apache Kylin比Mondrian强大,是分布式的而且主要为大数据生态的Hadoop和hive而生?

然后我网上查发现有这么个组合:
《Saiku+Kylin构建多维分析OLAP平台》: 使用Saiku+Kylin构建多维分析OLAP平台 - zoubf的专栏 - CSDN博客
困惑1,Saiku 不是已经包含了OLAP引擎了:Mondrian(也可以其他)了吗?这个组合的意思是把Saiku的默认OLAP引擎换成更强大的Kylin的意思?
再查资料,又看到:
《Kylin, Mondrian, Saiku系统的整合》:Kylin, Mondrian, Saiku系统的整合
Kylin和Mondrian都属于OLAP引擎,Saiku也自己含OLPA引擎,这个组合是什么意思? 是只Saiku的其他部件不变,OLAP变成Kylin+Mondrian双引擎?
Saiku原装的◆ ETL工具、OLAP Server:Mondrian、OLAP、展示、数据挖掘组件分别是什么?
挺困惑的。

另外我觉得这些开源的BI的展示不够美观,也不是中文,可否修改源码使其变成中文,并将展示的图换成Echart呢? 有没有教程或者实际案例呢?

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2018-07-30 16:12
    关注

    Apache Kylin是基于Hadoop的OLAP引擎,它的技术特点是能够充分利用Hadoop集群的MapReduce/Spark技术进行分布式的数据立方体预计算,并提供强大的高并发支持能力,能够响应标准SQL的访问请求。Kylin是MOLAP引擎,也就是说除了包括多维立方体模型,还包括多维立方体的预计算的实际数据。Saiku是一款开源BI前端工具。Mondrian是其内部使用的一个开源ROLAP引擎,ROLAP的元数据仅仅包括了多维立方体模型,而不包括实际的立方体数据,因此适合小规模数据。当数据量达到亿级,为了能够提供高性能的查询,Saiku可以直接连接Kylin的数据源,发送标准SQL查询语句,然后Kylin会从数据立方体中直接找到对应的结果返回给前端,速度能达到秒级或者亚秒级,非常适合大数据应用。

    今天刚在查关于 Mondrian和Saiku的资料,而kylin则是前段时间一直在使用的,查了一下午,大概对这些东西有个了解了。首先kylin 的多维分析包含如下步骤:1.创建数据模型(指定事实表、维度表、维度、度量等)。2.根据数据模型创建数据立方体cube.3.构建cube,kylin会根据你创建的模型和cube来对整个维度和度量各种能够出现的组合进行计算,这是kylin的核心,预计算!计算好后计算结果直接存储在hbase.4.kylin 开放出sql查询接口供我们查询,表面上看我们的sql跟以往查询关系数据库并没有什么不同,但是底层的查询实际上已经不是在原来的事实表和维度表去查询,而是去hbase直接找你预先计算好的结果,这也就是为什么kylin能保证在亿级数据毫秒级返回,因为他把你想要的数据都算好了,只是取出来而已,而你构建cube时没有指定的维度的查询则查询不到,因为他没算。Mondrian 则是一个多维分析引擎,他也需要你提前创建模型,然后在你查询的数据的时候根据你的查询语句(MDX)和创建的模型,也对数据进行各个角度,各个维度的分析计算,然后把数据返回。所以区别的重点就来了,Mondrian 是引擎,他帮你计算,但并不是预计算,那Mondrian 返回的结果怎么展示呢,毕竟是各个维度各个层次的。Saiku 则是用来展示Mondrian 计算出的数据的地方,同事saiku里面已经集成了Mondrian ,Saiku是一套完整的从分析处理到展示的解决方案 。kylin是一套分析处理并存储的解决方案,kylin并不提供多样化的展示,下钻,他提供出jdbc一样的接口,怎么展示取决于你。所以就像 @亦行亦思 说的一样,saiku可以和kylin结合起来,因为Mondrian 并不是预计算,所以在大数据的表现上会很差,那么让Mondrian 直接去处理kylin已经存储好的数据不就解决这个问题了。就是这样,对于Mondrian 和saiku我也是一知半解,就今天看了一下午,kylin则是用了两三个月,还算有点了解。如果有说的不对也欢迎大家来指正。

    https://www.zhihu.com/question/62488372 看这里

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料