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><p>éçæ°æ®éçæ¿å¢ï¼ä¼ ç»ç OLTP å¹³å°å·²æ æ³æ»¡è¶³ç¨æ·çåæéæ±ãOLAP å¹³å°åºè¿èçï¼OLAP å¹³å°éå¸¸ç± OLAP Engine ä¸ç¨æ·æä½åæ页é¢ç»æãæ¬æå°ä¼ä»¥ Saiku + Kylin çç»åæ¹å¼è®²è§£å¤ç»´ OLAP å¹³å°çæ建ã</p>
+
+<h3 id="saiku-">Saiku ç®ä»</h3>
+<p>Saiku æ¯ä¸ä¸ªç¨äº OLAP åæçå¥ä»¶ãç¨æ·å¯å¨æµè§å¨ä¸éè¿ææ½çæ¹å¼è¿è¡åæãéä½äºä½¿ç¨è
çå¦ä¹ ææ¬ãå®è½å¤è¿æ¥å¤ç§æ°æ®æºï¼å¦ Microsoft SQL Server, Oracle Database, MySQL, MongoDB çã<br />
+Saiku æ¯æ两ç§è¿æ¥æ¹å¼ï¼ä¸æ¯ Mondrianï¼äºæ¯ XMLAã<br />
+Mondrian æ¯ä¸ä¸ªå¼æºçåå¡åæå¼æãä½¿ç¨ MDX(MultiDimensionalExpressions) å®æå¤ç»´æ¥è¯¢ã<br />
+XMLAï¼XML for Analysisï¼æ¯ä¸ç§åºäºç®å对象访é®åè®®ï¼SOAPï¼ç XML åè®®ã</p>
+
+<h3 id="kylin-">Kylin ç®ä»</h3>
+<p>Kylin æ¯ä¸ä¸ªåºäº Hadoop ç OLAP å¼æï¼å¯æ¥è¯¢åæåå²ä¸å®æ¶æ°æ®ï¼å¹¶å¨äºç§çº§è¿åæ¥è¯¢ç»æã</p>
+
+<h3 id="section">åæåå¤</h3>
+<ul>
+ <li>å®è£
JAVA 并设置 JAVA_HOME</li>
+ <li>ä» <a href="https://community.meteorite.bi/">Saiku 社åº</a>ä¸è½½ Saiku ææ°çæ¬</li>
+ <li>ä» <a href="http://kylin.apache.org/download/">Kylin å®ç½</a>ä¸è½½ Kylin ææ°çæ¬ï¼å³ 2.6.2</li>
+ <li>å¨ Kylin v2.6.2 ä¸æ建ä¸ä¸ª Cube</li>
+</ul>
+
+<h3 id="saiku--kylin">è¿æ¥ Saiku å° Kylin</h3>
+<p>1.æ§è¡ <code class="highlighter-rouge">unzip saiku-latest.zip</code> 解åä¸è½½å¥½ç Saiku å
ï¼åæ¢è³ saiku-server æ件夹ã解åä¸è½½å¥½ç Kylin å
ï¼è¿å
¥è§£ååæ件夹ï¼å° lib/kylin-jdbc-<version>.jar æ·è´è³ saiku-server/tomcat/webapps/saiku/WEB-INF/lib</version></p>
+
+<p>2.å¨ saiku-server æ件夹ä¸æ§è¡ <code class="highlighter-rouge">./start-saiku.sh</code> å½ä»¤å¯å¨ Saikuï¼å¯å¨åå¯å¨æµè§å¨ä¸è¾å
¥ http://localhost:8080 è®¿é® Saiku 页é¢ãé»è®¤ç«¯å£ä¸º 8080ï¼å¯å¨ saiku-server/tomcat/conf/server.xml ä¸è¿è¡ä¿®æ¹ã<br />
+<img src="/images/blog/saiku/start.png" alt="" /></p>
+
+<p>3.è®¿é® https://licensing.meteorite.bi/login è¿è¡æ³¨å并ç»å½ã</p>
+
+<p>4.ç»å½åï¼å
å建å
¬å¸ï¼å¿
é¡»ï¼ï¼åå建 Licenseï¼Hostname 为å¯å¨ Saiku çæºå¨ IPãå建å®æåï¼ä¸è½½ License å°æ¬å°ã<br />
+<img src="/images/blog/saiku/license.png" alt="" /></p>
+
+<p>5.è®¿é® http://localhost:8080/upload.html ä¸ä¼ Licenseãä¸ä¼ æéç¨æ·åä¸å¯ç å为 admin</p>
+
+<p>6.è®¿é® http://localhost:8080 è¿è¡ç»å½ï¼ç¨æ·åå¯ç å为 adminãå¦æä¸æ§è¡ä¸è¿° 3-5 æ¥éª¤ï¼ç´æ¥ç»å½å°ä¼æ¥å¦ä¸éã</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>Error fetching license. Get a free license from http://licensing.meteorite.bi. You can upload it at /upload.html
+</code></pre>
+</div>
+
+<p>7.ç»å½åï¼ç¹å»ç®¡çæ§å¶å°ï¼å³é¡¶é¨å¯¼èªæ æå³è¾¹å
å« A çå¾æ ãç¶åç¹å» Add Schemaï¼æ·»å Mondrian Schema ç XML æ件å Schema Nameï¼æåç¹å» Upload æé®ï¼æ¾ç¤º Upload Successful! å³å¯ãXML æ件ç±èªå·±ç¼åï¼å®æ¹æä¾ä¸¤ä¸ªåèæ ·ä¾ Earthquakes.xml å FoodMart4.xmlï¼å¨ saiku-server/data ç®å½ä¸ãå
·ä½è¯æ³å¯åè<a href="https://mondrian.pentaho.com/documentation/schema.php">è¿ä¸ªç½ç«</a><br />
+<img src="/images/blog/saiku/add_schema.png" alt="" /><br />
+å¦ä¸ä¸ºæ¬æ¬¡ä½¿ç¨çç¤ºä¾ XML æ件ãå
¶ä¸å
å«ä¸å¼ å为 KYLIN_SALES ç表ï¼å
å« TRANS_IDï¼PART_DTï¼LSTG_FORMAT_NAME è¿ 3 个维度å 1 个 SUM(PRICE) 度éã<br />
+<em>注æ</em>ï¼è¡¨ï¼åï¼å大å°åææï¼éä¸ Kylin ä¸å è½½çæ°æ®æºè¡¨ï¼åï¼å称对åº</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code><span class="cp">&lt;?xml version='1.0'?&gt;</span>
+<span class="nt">&lt;Schema</span> <span class="na">name=</span><span class="s">'default'</span> <span class="na">metamodelVersion=</span><span class="s">'4.0'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;PhysicalSchema&gt;</span>
+ <span class="nt">&lt;Table</span> <span class="na">name=</span><span class="s">'KYLIN_SALES'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;/Table&gt;</span>
+ <span class="nt">&lt;/PhysicalSchema&gt;</span>
+ <span class="nt">&lt;Cube</span> <span class="na">name=</span><span class="s">'kylin_sales_cube'</span> <span class="na">defaultMeasure=</span><span class="s">'Sum PRICE'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;Dimensions&gt;</span>
+ <span class="nt">&lt;Dimension</span> <span class="na">name=</span><span class="s">'Trans_id'</span> <span class="na">table=</span><span class="s">'KYLIN_SALES'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;Attributes&gt;</span>
+ <span class="nt">&lt;Attribute</span> <span class="na">name=</span><span class="s">'Trans_id'</span> <span class="na">keyColumn=</span><span class="s">'TRANS_ID'</span> <span class="na">hasHierarchy=</span><span class="s">'true'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;/Attributes&gt;</span>
+ <span class="nt">&lt;/Dimension&gt;</span>
+ <span class="nt">&lt;Dimension</span> <span class="na">name=</span><span class="s">"Date"</span> <span class="na">table=</span><span class="s">'KYLIN_SALES'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;Attributes&gt;</span>
+ <span class="nt">&lt;Attribute</span> <span class="na">name=</span><span class="s">'Order_date'</span> <span class="na">keyColumn=</span><span class="s">'PART_DT'</span> <span class="na">hasHierarchy=</span><span class="s">'true'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;/Attributes&gt;</span>
+ <span class="nt">&lt;/Dimension&gt;</span>
+ <span class="nt">&lt;Dimension</span> <span class="na">name=</span><span class="s">'Trans_type'</span> <span class="na">table=</span><span class="s">'KYLIN_SALES'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;Attributes&gt;</span>
+ <span class="nt">&lt;Attribute</span> <span class="na">name=</span><span class="s">'Trans_type'</span> <span class="na">keyColumn=</span><span class="s">'LSTG_FORMAT_NAME'</span> <span class="na">hasHierarchy=</span><span class="s">'true'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;/Attributes&gt;</span>
+ <span class="nt">&lt;/Dimension&gt;</span>
+ <span class="nt">&lt;/Dimensions&gt;</span>
+ <span class="nt">&lt;MeasureGroups&gt;</span>
+ <span class="nt">&lt;MeasureGroup</span> <span class="na">name=</span><span class="s">'SUM'</span> <span class="na">table=</span><span class="s">'KYLIN_SALES'</span><span class="nt">&gt;</span>
+ <span class="nt">&lt;Measures&gt;</span>
+ <span class="nt">&lt;Measure</span> <span class="na">name=</span><span class="s">'Sum PRICE'</span> <span class="na">column=</span><span class="s">'PRICE'</span> <span class="na">aggregator=</span><span class="s">'sum'</span> <span class="na">formatString=</span><span class="s">'Standard'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;/Measures&gt;</span>
+ <span class="nt">&lt;DimensionLinks&gt;</span>
+ <span class="nt">&lt;FactLink</span> <span class="na">dimension=</span><span class="s">'Trans_id'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;FactLink</span> <span class="na">dimension=</span><span class="s">'Date'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;FactLink</span> <span class="na">dimension=</span><span class="s">'Trans_type'</span><span class="nt">/&gt;</span>
+ <span class="nt">&lt;/DimensionLinks&gt;</span>
+ <span class="nt">&lt;/MeasureGroup&gt;</span>
+ <span class="nt">&lt;/MeasureGroups&gt;</span>
+<span class="nt">&lt;/Cube&gt;</span>
+<span class="nt">&lt;/Schema&gt;</span>
+</code></pre>
+</div>
+
+<p>8.ç¹å» Add Data Sourceï¼å¡«åå¦ä¸åæ°ã</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>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)
+</code></pre>
+</div>
+<p>ç¹å» Save æé®ä¿åã</p>
+
+<p>9.ç¹å» Home Tabï¼ç¹å» Create a new query è¿å
¥æ¥è¯¢åæ页é¢ã<br />
+<img src="/images/blog/saiku/home.png" alt="" /></p>
+
+<p>10.ç¹å»éæ©å¤ç»´æ°æ®éä¸ææ¡ï¼éæ©ååå建好ç Kylin æ°æ®æºã<br />
+<img src="/images/blog/saiku/mul_datasets.png" alt="" /></p>
+
+<p>11.éè¿ææ½çæ¹å¼éæ©ç»´åº¦å度éè¿è¡åæãç»æä»¥è¡¨æ ¼å½¢å¼å±ç¤ºï¼å¯å¨é¡µé¢å³è¾¹åæ¢å¾è¡¨æ¨¡å¼ã<br />
+<img src="/images/blog/saiku/query_result.png" alt="" /><br />
+ä¸å¾æ示ææ½æ¹å¼ä¼é¦å
转æ¢ä¸º MDX åéç» Mondrianï¼Mondrian ä¼å°å
¶è½¬æ¢ä¸º SQL åéç» Kylinï¼Kylin æ¥æ¾å¯åç该 SQL è¯å¥ç Cubeï¼å°æ¥è¯¢ç»æè¿åç» Mondrianï¼åç± Mondrian è¿åç» Saiku è¿è¡å±ç¤ºãä¸å¾æ示æ¹å¼çæç SQL è¯å¥å¦ä¸ï¼</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>select "KYLIN_SALES"."TRANS_ID" as "c0", "KYLIN_SALES"."LSTG_FORMAT_NAME" as "c1", sum("KYLIN_SALES"."PRICE") as "m0" from "KYLIN_SALES" as "KYLIN_SALES" group by "KYLIN_SALES"."TRANS_ID", "KYLIN_SALES"."LSTG_FORMAT_NAME"
+</code></pre>
+</div>
+
+<h3 id="section-1">常è§é®é¢</h3>
+<ol>
+ <li>
+ <p>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-&gt;org.bouncycastle.asn1.DEREncodableVector-&gt;org.bouncycastle.asn1.ASN1EncodableVector]<br />
+解å³æ¹æ¡ï¼å¨ saiku-server/tomcat/conf/catalina.properties ä¸ç tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ åå ,*</p>
+ </li>
+ <li>
+ <p>éæ© schema åï¼ææ å维度ä¸æ¾ç¤ºãæ¥å¿ä¸æ¥å¦ä¸éï¼java.lang.NoClassDefFoundError: mondrian/olap/LevelType<br />
+解å³æ¹æ¡ï¼è§£å saiku-server/tomcat/webapps/saiku/WEB-INF/lib ä¸ç saiku-query-0.4-SNAPSHOT.jarï¼å é¤ mondrain æ件夹åéæ°æå
ï¼å¹¶æ¿æ¢åæ jar å
ã</p>
+ </li>
+</ol>
+
+<h3 id="section-2">åèæç®</h3>
+<ul>
+ <li>https://saiku-documentation.readthedocs.io/en/latest/</li>
+ <li>https://baike.baidu.com/item/XMLA/8711067</li>
+ <li>https://community.hitachivantara.com/docs/DOC-1009853</li>
+ <li>https://www.jianshu.com/p/14b57d000fe5</li>
+ <li>https://blog.csdn.net/csdn_g_y/article/details/78184747</li>
+ <li>https://blog.csdn.net/qq_28725695/article/details/84322821</li>
+</ul>
+</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><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v3.0.0-alpha.</p>
@@ -962,78 +1107,6 @@ Graphic 10 Process of Querying Cube</
<category>blog</category>
-
- </item>
-
- <item>
- <title>Apache Kylin v2.5.0 Release Announcement</title>
- <description><p>The Apache Kylin community is pleased to announce the release of Apache Kylin v2.5.0.</p>
-
-<p>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.</p>
-
-<p>This is a major release after 2.4.0, including many enhancements. All of the changes can be found in the <a href="https://kylin.apache.org/docs/release_notes.html">release notes</a>. Here just highlight the major ones:</p>
-
-<h3 id="the-all-in-spark-cubing-engine">The all-in-Spark cubing engine</h3>
-<p>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.</p>
-
-<p>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.</p>
-
-<h3 id="mysql-as-kylin-metastore">MySQL as Kylin metastore</h3>
-<p>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.</p>
-
-<h3 id="hybrid-model-web-gui">Hybrid model web GUI</h3>
-<p>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.</p>
-
-<h3 id="enable-cube-planner-by-default">Enable Cube planner by default</h3>
-<p>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.</p>
-
-<h3 id="advanced-segment-pruning">Advanced segment pruning</h3>
-<p>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.</p>
-
-<p>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.</p>
-
-<h3 id="merge-dictionary-on-yarn">Merge dictionary on YARN</h3>
-
-<p>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.</p>
-
-<p>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.</p>
-
-<h3 id="improve-building-performance-for-reading-global-dictionary">Improve building performance for reading Global Dictionary</h3>
-
-<p>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.</p>
-
-<p>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.</p>
-
-<h3 id="improved-cube-size-estimation-for-topn-count-distinct">Improved cube size estimation for TOPN, COUNT DISTINCT</h3>
-
-<p>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.</p>
-
-<p>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.</p>
-
-<h3 id="hadoop-30hbase-20-support">Hadoop 3.0/HBase 2.0 support</h3>
-
-<p>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.</p>
-
-<p><strong>Download</strong></p>
-
-<p>To download Apache Kylin v2.5.0 source code or binary package, visit the <a href="http://kylin.apache.org/download">download</a> page.</p>
-
-<p><strong>Upgrade</strong></p>
-
-<p>Follow the <a href="/docs/howto/howto_upgrade.html">upgrade guide</a>.</p>
-
-<p><strong>Feedback</strong></p>
-
-<p>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.</p>
-
-<p><em>Great thanks to everyone who contributed!</em></p>
-</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