You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2019/05/27 12:12:09 UTC

svn commit: r1860125 [2/2] - in /kylin/site: ./ blog/ blog/2019/05/ blog/2019/05/23/ blog/2019/05/23/saiku-kylin-molap/ images/blog/saiku/

Modified: kylin/site/feed.xml
URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1860125&r1=1860124&r2=1860125&view=diff
==============================================================================
--- kylin/site/feed.xml (original)
+++ kylin/site/feed.xml Mon May 27 12:12:08 2019
@@ -19,11 +19,156 @@
     <description>Apache Kylin Home</description>
     <link>http://kylin.apache.org/</link>
     <atom:link href="http://kylin.apache.org/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Sun, 19 May 2019 02:31:13 -0700</pubDate>
-    <lastBuildDate>Sun, 19 May 2019 02:31:13 -0700</lastBuildDate>
+    <pubDate>Mon, 27 May 2019 05:01:43 -0700</pubDate>
+    <lastBuildDate>Mon, 27 May 2019 05:01:43 -0700</lastBuildDate>
     <generator>Jekyll v2.5.3</generator>
     
       <item>
+        <title>Saiku + Kylin 搭建多维 OLAP 平台</title>
+        <description>&lt;p&gt;随着数据量的激增,传统的 OLTP 平台已无法满足用户的分析需求。OLAP 平台应运而生,OLAP 平台通常由 OLAP Engine 与用户操作分析页面组成。本文将会以 Saiku + Kylin 的组合方式讲解多维 OLAP 平台的搭建。&lt;/p&gt;
+
+&lt;h3 id=&quot;saiku-&quot;&gt;Saiku 简介&lt;/h3&gt;
+&lt;p&gt;Saiku 是一个用于 OLAP 分析的套件。用户可在浏览器中通过拖拽的方式进行分析。降低了使用者的学习成本。它能够连接多种数据源,如 Microsoft SQL Server, Oracle Database, MySQL, MongoDB 等。&lt;br /&gt;
+Saiku 支持两种连接方式:一是 Mondrian,二是 XMLA。&lt;br /&gt;
+Mondrian 是一个开源的商务分析引擎。使用 MDX(MultiDimensionalExpressions) 完成多维查询。&lt;br /&gt;
+XMLA(XML for Analysis)是一种基于简单对象访问协议(SOAP)的 XML 协议。&lt;/p&gt;
+
+&lt;h3 id=&quot;kylin-&quot;&gt;Kylin 简介&lt;/h3&gt;
+&lt;p&gt;Kylin 是一个基于 Hadoop 的 OLAP 引擎,可查询分析历史与实时数据,并在亚秒级返回查询结果。&lt;/p&gt;
+
+&lt;h3 id=&quot;section&quot;&gt;前期准备&lt;/h3&gt;
+&lt;ul&gt;
+  &lt;li&gt;安装 JAVA 并设置 JAVA_HOME&lt;/li&gt;
+  &lt;li&gt;从 &lt;a href=&quot;https://community.meteorite.bi/&quot;&gt;Saiku 社区&lt;/a&gt;下载 Saiku 最新版本&lt;/li&gt;
+  &lt;li&gt;从 &lt;a href=&quot;http://kylin.apache.org/download/&quot;&gt;Kylin 官网&lt;/a&gt;下载 Kylin 最新版本,即 2.6.2&lt;/li&gt;
+  &lt;li&gt;在 Kylin v2.6.2 中构建一个 Cube&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&quot;saiku--kylin&quot;&gt;连接 Saiku 到 Kylin&lt;/h3&gt;
+&lt;p&gt;1.执行 &lt;code class=&quot;highlighter-rouge&quot;&gt;unzip saiku-latest.zip&lt;/code&gt; 解压下载好的 Saiku 包,切换至 saiku-server 文件夹。解压下载好的 Kylin 包,进入解压后文件夹,将 lib/kylin-jdbc-&lt;version&gt;.jar 拷贝至 saiku-server/tomcat/webapps/saiku/WEB-INF/lib&lt;/version&gt;&lt;/p&gt;
+
+&lt;p&gt;2.在 saiku-server 文件夹下执行 &lt;code class=&quot;highlighter-rouge&quot;&gt;./start-saiku.sh&lt;/code&gt; 命令启动 Saiku,启动后可在浏览器中输入 http://localhost:8080 访问 Saiku 页面。默认端口为 8080,可在 saiku-server/tomcat/conf/server.xml 中进行修改。&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/start.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+
+&lt;p&gt;3.访问 https://licensing.meteorite.bi/login 进行注册并登录。&lt;/p&gt;
+
+&lt;p&gt;4.登录后,先创建公司(必须),再创建 License,Hostname 为启动 Saiku 的机器 IP。创建完成后,下载 License 到本地。&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/license.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+
+&lt;p&gt;5.访问 http://localhost:8080/upload.html 上传 License。上传所需用户名与密码均为 admin&lt;/p&gt;
+
+&lt;p&gt;6.访问 http://localhost:8080 进行登录,用户名密码均为 admin。如果不执行上述 3-5 步骤,直接登录将会报如下错。&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Error fetching license. Get a free license from http://licensing.meteorite.bi. You can upload it at /upload.html
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;7.登录后,点击管理控制台,即顶部导航栏最右边包含 A 的图标。然后点击 Add Schema,添加 Mondrian Schema 的 XML 文件和 Schema Name,最后点击 Upload 按钮,显示 Upload Successful! 即可。XML 文件由自己编写,官方提供两个参考样例 Earthquakes.xml 和 FoodMart4.xml,在 saiku-server/data 目录下。具体语法可参考&lt;a href=&quot;https://mondrian.pentaho.com/documentation/schema.php&quot;&gt;这个网站&lt;/a&gt;&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/add_schema.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+如下为本次使用的示例 XML 文件。其中包含一张名为 KYLIN_SALES 的表,包含 TRANS_ID,PART_DT,LSTG_FORMAT_NAME 这 3 个维度和 1 个 SUM(PRICE) 度量。&lt;br /&gt;
+&lt;em&gt;注意&lt;/em&gt;:表(列)名大小写敏感,需与 Kylin 中加载的数据源表(列)名称对应&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;?xml version=&#39;1.0&#39;?&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;Schema&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;default&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;metamodelVersion=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;4.0&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;PhysicalSchema&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;Table&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;KYLIN_SALES&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Table&amp;gt;&lt;/span&gt;
+         &lt;span class=&quot;nt&quot;&gt;&amp;lt;/PhysicalSchema&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;Cube&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;kylin_sales_cube&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;defaultMeasure=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Sum PRICE&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;Dimensions&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;Dimension&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_id&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;table=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;KYLIN_SALES&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;Attributes&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;Attribute&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_id&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyColumn=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;TRANS_ID&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;hasHierarchy=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;true&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Attributes&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Dimension&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;Dimension&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Date&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;table=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;KYLIN_SALES&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;Attributes&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;Attribute&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Order_date&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyColumn=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;PART_DT&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;hasHierarchy=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;true&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Attributes&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Dimension&amp;gt;&lt;/span&gt;
+	&lt;span class=&quot;nt&quot;&gt;&amp;lt;Dimension&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_type&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;table=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;KYLIN_SALES&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;Attributes&amp;gt;&lt;/span&gt;
+			&lt;span class=&quot;nt&quot;&gt;&amp;lt;Attribute&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_type&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;keyColumn=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;LSTG_FORMAT_NAME&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;hasHierarchy=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;true&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Attributes&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Dimension&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Dimensions&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;MeasureGroups&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;MeasureGroup&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;SUM&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;table=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;KYLIN_SALES&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+                &lt;span class=&quot;nt&quot;&gt;&amp;lt;Measures&amp;gt;&lt;/span&gt;
+                    &lt;span class=&quot;nt&quot;&gt;&amp;lt;Measure&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Sum PRICE&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;column=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;PRICE&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;aggregator=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;sum&#39;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;formatString=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Standard&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+                &lt;span class=&quot;nt&quot;&gt;&amp;lt;/Measures&amp;gt;&lt;/span&gt;
+                  &lt;span class=&quot;nt&quot;&gt;&amp;lt;DimensionLinks&amp;gt;&lt;/span&gt;
+                    &lt;span class=&quot;nt&quot;&gt;&amp;lt;FactLink&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;dimension=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_id&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+                    &lt;span class=&quot;nt&quot;&gt;&amp;lt;FactLink&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;dimension=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Date&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+					&lt;span class=&quot;nt&quot;&gt;&amp;lt;FactLink&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;dimension=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&#39;Trans_type&#39;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+                &lt;span class=&quot;nt&quot;&gt;&amp;lt;/DimensionLinks&amp;gt;&lt;/span&gt;
+            &lt;span class=&quot;nt&quot;&gt;&amp;lt;/MeasureGroup&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/MeasureGroups&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/Cube&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/Schema&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;8.点击 Add Data Source,填写如下参数。&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Name: Kylin_Demo
+Connection Type: Mondrian
+URL: jdbc:kylin://localhost:7070/{project_name}
+Schema: {mondrian_schema}
+JDBC Driver: org.apache.kylin.jdbc.Driver
+Username: {kylin_username} (Default: ADMIN)
+Password: {kylin_password} (Default: KYLIN)
+Security: (depend on your security setting)
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+&lt;p&gt;点击 Save 按钮保存。&lt;/p&gt;
+
+&lt;p&gt;9.点击 Home Tab;点击 Create a new query 进入查询分析页面。&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/home.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+
+&lt;p&gt;10.点击选择多维数据集下拉框,选择刚刚创建好的 Kylin 数据源。&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/mul_datasets.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
+
+&lt;p&gt;11.通过拖拽的方式选择维度和度量进行分析。结果以表格形式展示,可在页面右边切换图表模式。&lt;br /&gt;
+&lt;img src=&quot;/images/blog/saiku/query_result.png&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
+上图所示拖拽方式会首先转换为 MDX 发送给 Mondrian,Mondrian 会将其转换为 SQL 发送给 Kylin,Kylin 查找可回答该 SQL 语句的 Cube,将查询结果返回给 Mondrian,再由 Mondrian 返回给 Saiku 进行展示。上图所示方式生成的 SQL 语句如下:&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;select &quot;KYLIN_SALES&quot;.&quot;TRANS_ID&quot; as &quot;c0&quot;, &quot;KYLIN_SALES&quot;.&quot;LSTG_FORMAT_NAME&quot; as &quot;c1&quot;, sum(&quot;KYLIN_SALES&quot;.&quot;PRICE&quot;) as &quot;m0&quot; from &quot;KYLIN_SALES&quot; as &quot;KYLIN_SALES&quot; group by &quot;KYLIN_SALES&quot;.&quot;TRANS_ID&quot;, &quot;KYLIN_SALES&quot;.&quot;LSTG_FORMAT_NAME&quot;
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;h3 id=&quot;section-1&quot;&gt;常见问题&lt;/h3&gt;
+&lt;ol&gt;
+  &lt;li&gt;
+    &lt;p&gt;tomcat 启动报错。java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1EncodableVector-&amp;gt;org.bouncycastle.asn1.DEREncodableVector-&amp;gt;org.bouncycastle.asn1.ASN1EncodableVector]&lt;br /&gt;
+解决方案:在 saiku-server/tomcat/conf/catalina.properties 中的 tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ 后加,*&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;选择 schema 后,指标和维度不显示。日志中报如下错:java.lang.NoClassDefFoundError: mondrian/olap/LevelType&lt;br /&gt;
+解决方案:解压 saiku-server/tomcat/webapps/saiku/WEB-INF/lib 下的 saiku-query-0.4-SNAPSHOT.jar,删除 mondrain 文件夹后重新打包,并替换原有 jar 包。&lt;/p&gt;
+  &lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;h3 id=&quot;section-2&quot;&gt;参考文献&lt;/h3&gt;
+&lt;ul&gt;
+  &lt;li&gt;https://saiku-documentation.readthedocs.io/en/latest/&lt;/li&gt;
+  &lt;li&gt;https://baike.baidu.com/item/XMLA/8711067&lt;/li&gt;
+  &lt;li&gt;https://community.hitachivantara.com/docs/DOC-1009853&lt;/li&gt;
+  &lt;li&gt;https://www.jianshu.com/p/14b57d000fe5&lt;/li&gt;
+  &lt;li&gt;https://blog.csdn.net/csdn_g_y/article/details/78184747&lt;/li&gt;
+  &lt;li&gt;https://blog.csdn.net/qq_28725695/article/details/84322821&lt;/li&gt;
+&lt;/ul&gt;
+</description>
+        <pubDate>Thu, 23 May 2019 08:00:00 -0700</pubDate>
+        <link>http://kylin.apache.org/blog/2019/05/23/saiku-kylin-molap/</link>
+        <guid isPermaLink="true">http://kylin.apache.org/blog/2019/05/23/saiku-kylin-molap/</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
+      <item>
         <title>Apache Kylin v3.0.0-alpha Release Announcement</title>
         <description>&lt;p&gt;The Apache Kylin community is pleased to announce the release of Apache Kylin v3.0.0-alpha.&lt;/p&gt;
 
@@ -962,78 +1107,6 @@ Graphic 10 Process of Querying Cube&lt;/
         
         
         <category>blog</category>
-        
-      </item>
-    
-      <item>
-        <title>Apache Kylin v2.5.0 Release Announcement</title>
-        <description>&lt;p&gt;The Apache Kylin community is pleased to announce the release of Apache Kylin v2.5.0.&lt;/p&gt;
-
-&lt;p&gt;Apache Kylin is an open source Distributed Analytics Engine designed to provide SQL interface and multi-dimensional analysis (OLAP) on Big Data supporting extremely large datasets.&lt;/p&gt;
-
-&lt;p&gt;This is a major release after 2.4.0, including many enhancements. All of the changes can be found in the &lt;a href=&quot;https://kylin.apache.org/docs/release_notes.html&quot;&gt;release notes&lt;/a&gt;. Here just highlight the major ones:&lt;/p&gt;
-
-&lt;h3 id=&quot;the-all-in-spark-cubing-engine&quot;&gt;The all-in-Spark cubing engine&lt;/h3&gt;
-&lt;p&gt;Now Kylin’s Spark engine will run all distributed jobs in Spark, including fetch distinct dimension values, converting cuboid files to HBase HFile, merging segments, merging dictionaries, etc. The default configurations are tuned so the user can get an out-of-box experience. The overall performance with the previous version is close, but we assume Spark has more room to improve. The related tasks are KYLIN-3427, KYLIN-3441, KYLIN-3442.&lt;/p&gt;
-
-&lt;p&gt;There are also improvements in the job management. Now you can get the job link on the web console once Spark starts to run. If you discard the job, Kylin will kill the Spark job to release the resource in time. If Kylin is restarted, it can resume from the previous job instead of resubmitting a new job.&lt;/p&gt;
-
-&lt;h3 id=&quot;mysql-as-kylin-metastore&quot;&gt;MySQL as Kylin metastore&lt;/h3&gt;
-&lt;p&gt;In the past, HBase is the only option for Kylin metadata. In some cases, this is not applicable, for example using replicated HBase cluster for Kylin’s HA (the replicated HBase is read only). Now we introduce the MySQL metastore to fulfill such need. This function is in beta now. Check KYLIN-3488 for more.&lt;/p&gt;
-
-&lt;h3 id=&quot;hybrid-model-web-gui&quot;&gt;Hybrid model web GUI&lt;/h3&gt;
-&lt;p&gt;Hybrid is an advanced model for compositing multiple Cubes. It can be used for the Cube schema change issue. This function had no GUI in the past so only a small portion of Kylin users know it. Now we added the web GUI for it so everyone can try it.&lt;/p&gt;
-
-&lt;h3 id=&quot;enable-cube-planner-by-default&quot;&gt;Enable Cube planner by default&lt;/h3&gt;
-&lt;p&gt;The Cube planner can greatly optimize the cube structure, save the computing/storage resources and improve the query performance. It was introduced in v2.3 but is disabled by default. In order to let more users seeing and trying it, we enable it by default in v2.5. The algorithm will automatically optimize the cube by your data statistics on the first build.&lt;/p&gt;
-
-&lt;h3 id=&quot;advanced-segment-pruning&quot;&gt;Advanced segment pruning&lt;/h3&gt;
-&lt;p&gt;Segment (partition) pruning can efficiently reduce the disk and network I/O, so to greatly improve the query performance. In the past, Kylin only prunes segments by the partition column’s value. If the query doesn’t have the partition column as the filtering condition, the pruning won’t work, all segments will be scanned.&lt;/p&gt;
-
-&lt;p&gt;Now from v2.5, Kylin will record the min/max value for EVERY dimension at the segment level. Before scanning a segment, it will compare the query’s conditions with the min/max index. If not matched, the segment will be skipped. Check KYLIN-3370 for more.&lt;/p&gt;
-
-&lt;h3 id=&quot;merge-dictionary-on-yarn&quot;&gt;Merge dictionary on YARN&lt;/h3&gt;
-
-&lt;p&gt;When segments get merged, their dictionaries also need to be merged. In the past, the merging happens in Kylin’s JVM, which takes a lot of memory and CPU resources. In extreme case (if you have a couple of concurrent jobs) it may crash the Kylin process. Since this, some users have to allocate much more memory to Kylin job node or run multiple job nodes to balance the workload.&lt;/p&gt;
-
-&lt;p&gt;Now from v2.5, Kylin will submit this task to Hadoop MR or Spark, so this bottleneck can be solved. Check KYLIN-3471 for more.&lt;/p&gt;
-
-&lt;h3 id=&quot;improve-building-performance-for-reading-global-dictionary&quot;&gt;Improve building performance for reading Global Dictionary&lt;/h3&gt;
-
-&lt;p&gt;Global Dictionary is a must for bitmap count distinct. The GD can be very large if the column has a very high cardinality. In the cube building phase, Kylin need to translate the non-integer values to integers by the GD. Although the GD has been split into several slices, the values are often scrambled. Kylin needs swap in/out the slices into memory repeatedly, which causes the building slowly.&lt;/p&gt;
-
-&lt;p&gt;The enhancement introduces a new step to build a shrunken dictionary for each data block. Then each task only loads the shrunken dictionary, which is quite small, so there is no swap in/out any more in the cubing step. Then the performance can be 3x faster than before. Check KYLIN-3491 for more.&lt;/p&gt;
-
-&lt;h3 id=&quot;improved-cube-size-estimation-for-topn-count-distinct&quot;&gt;Improved cube size estimation for TOPN, COUNT DISTINCT&lt;/h3&gt;
-
-&lt;p&gt;Cube size estimation is used in several steps, such as decides the MR/Spark job partition number, calculates the HBase region number etc. It will affect the build performance much. The estimation can be wild when there is COUNT DISTINCT, TOPN measures because their size is flexible. The incorrect estimation may cause too many data partitions and then too many tasks. In the past, users need to tune several parameters to make the size estimation more close to real size, that is hard to do.&lt;/p&gt;
-
-&lt;p&gt;Now Kylin will correct the size estimation automatically based on the collected data statistics. This can make the estimation much closer with the real size than before. Check KYLIN-3453 for more.&lt;/p&gt;
-
-&lt;h3 id=&quot;hadoop-30hbase-20-support&quot;&gt;Hadoop 3.0/HBase 2.0 support&lt;/h3&gt;
-
-&lt;p&gt;Hadoop 3 and HBase 2 starts to be adopted by many users. Now we provide new binary packages compiled with the new Hadoop and HBase API. We tested them on Hortonworks HDP 3.0 and Cloudera CDH 6.0.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;To download Apache Kylin v2.5.0 source code or binary package, visit the &lt;a href=&quot;http://kylin.apache.org/download&quot;&gt;download&lt;/a&gt; page.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Upgrade&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;Follow the &lt;a href=&quot;/docs/howto/howto_upgrade.html&quot;&gt;upgrade guide&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;Feedback&lt;/strong&gt;&lt;/p&gt;
-
-&lt;p&gt;If you face issue or question, please send mail to Apache Kylin dev or user mailing list: dev@kylin.apache.org , user@kylin.apache.org; Before sending, please make sure you have subscribed the mailing list by dropping an email to dev-subscribe@kylin.apache.org or user-subscribe@kylin.apache.org.&lt;/p&gt;
-
-&lt;p&gt;&lt;em&gt;Great thanks to everyone who contributed!&lt;/em&gt;&lt;/p&gt;
-</description>
-        <pubDate>Thu, 20 Sep 2018 13:00:00 -0700</pubDate>
-        <link>http://kylin.apache.org/blog/2018/09/20/release-v2.5.0/</link>
-        <guid isPermaLink="true">http://kylin.apache.org/blog/2018/09/20/release-v2.5.0/</guid>
-        
-        
-        <category>blog</category>
         
       </item>
     

Added: kylin/site/images/blog/saiku/add_schema.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/add_schema.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/add_schema.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: kylin/site/images/blog/saiku/home.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/home.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/home.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: kylin/site/images/blog/saiku/license.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/license.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/license.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: kylin/site/images/blog/saiku/mul_datasets.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/mul_datasets.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/mul_datasets.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: kylin/site/images/blog/saiku/query_result.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/query_result.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/query_result.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: kylin/site/images/blog/saiku/start.png
URL: http://svn.apache.org/viewvc/kylin/site/images/blog/saiku/start.png?rev=1860125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: kylin/site/images/blog/saiku/start.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream