You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by lu...@apache.org on 2015/06/02 12:26:02 UTC

[08/49] incubator-kylin git commit: update website structure and content

update website structure and content

Signed-off-by: Luke Han <lu...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/69dda1d6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/69dda1d6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/69dda1d6

Branch: refs/heads/0.7.1
Commit: 69dda1d68055146828a1b5b38cf6b121bd700450
Parents: 928ef4c
Author: Luwei Chen <ch...@hotmail.com>
Authored: Wed May 27 18:17:32 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Wed May 27 18:51:01 2015 +0800

----------------------------------------------------------------------
 docs/website/_config.yml                        |  4 +-
 docs/website/_includes/head.cn.html             |  3 +-
 docs/website/_includes/head.html                |  4 +-
 docs/website/_layouts/page.html                 |  7 +-
 docs/website/_layouts/post.html                 |  8 +-
 .../_posts/2015-01-25-introduce-data-model.md   | 40 ---------
 docs/website/blog/index.md                      | 43 ---------
 docs/website/community/index.md                 | 65 --------------
 docs/website/docs/index.md                      | 91 --------------------
 docs/website/docs/installation-content.md       | 16 ----
 docs/website/docs/intro-content.md              | 54 ------------
 11 files changed, 16 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_config.yml
----------------------------------------------------------------------
diff --git a/docs/website/_config.yml b/docs/website/_config.yml
index 9f347af..f7eb224 100644
--- a/docs/website/_config.yml
+++ b/docs/website/_config.yml
@@ -28,6 +28,8 @@ encoding: UTF-8
 
 # Build settings
 markdown: kramdown
+# Code highlight
+highlighter: pygments
 # Permalinks, default is pretty
 permalink: pretty
 
@@ -39,4 +41,4 @@ language_default: 'en'
 
 # If a post of default language not set `no_fill_default_content` to true
 # Its content will use to replace if the corresponding content of other languages is not exist.
-# fill_default_content: true
\ No newline at end of file
+# fill_default_content: true

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_includes/head.cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.cn.html b/docs/website/_includes/head.cn.html
index 53d7204..36c3a0e 100644
--- a/docs/website/_includes/head.cn.html
+++ b/docs/website/_includes/head.cn.html
@@ -33,13 +33,14 @@
 <link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css"| prepend: site.baseurl }}">
 
 <!-- Fonts -->
-<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700">
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
 
 <!-- Icons -->
 <link rel="stylesheet" href="{{ "/assets/css/font-awesome.min.css"| prepend: site.baseurl }}">
 
   <!-- Custom styles -->
   <link rel="stylesheet" href="{{ "/assets/css/styles.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/docs.css" | prepend: site.baseurl }}">
 
   <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
   <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_includes/head.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.html b/docs/website/_includes/head.html
index dc2063f..421b450 100644
--- a/docs/website/_includes/head.html
+++ b/docs/website/_includes/head.html
@@ -33,13 +33,15 @@
 <link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css"| prepend: site.baseurl }}">
 
 <!-- Fonts -->
-<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700">
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
 
 <!-- Icons -->
 <link rel="stylesheet" href="{{ "/assets/css/font-awesome.min.css"| prepend: site.baseurl }}">
 
   <!-- Custom styles -->
   <link rel="stylesheet" href="{{ "/assets/css/styles.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/docs.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/pygments.css" | prepend: site.baseurl }}">
 
   <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
   <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_layouts/page.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/page.html b/docs/website/_layouts/page.html
index de945f4..9b38fb8 100644
--- a/docs/website/_layouts/page.html
+++ b/docs/website/_layouts/page.html
@@ -1,3 +1,7 @@
+---
+layout: default
+---
+
 <!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -16,9 +20,6 @@
 * limitations under the License.
 -->
 
----
-layout: default
----
 <div class="post">
 
   <header class="post-header">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_layouts/post.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/post.html b/docs/website/_layouts/post.html
index 38c68c8..7503e6e 100644
--- a/docs/website/_layouts/post.html
+++ b/docs/website/_layouts/post.html
@@ -1,3 +1,7 @@
+---
+layout: docs
+---
+
 <!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -16,10 +20,6 @@
 * limitations under the License.
 -->
 
----
-layout: default
----
-
 <div class="post" style=" padding:2em 4em 4em 4em">
 
   <header class="post-header">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_posts/2015-01-25-introduce-data-model.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/2015-01-25-introduce-data-model.md b/docs/website/_posts/2015-01-25-introduce-data-model.md
deleted file mode 100644
index 2016207..0000000
--- a/docs/website/_posts/2015-01-25-introduce-data-model.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title:  "Introduce Data Model of Cube Designer"
-date:   2015-01-25 22:28:00
-author: Luke Han
-categories: blog
----
-
-### Background
-In previous version (before v0.6.4), Kylin introduced a GUI tool called Cube Designer for user (we called this role as __Cube Modeler__) to architect OLAP Cube with dimensions, measures and other settings. It works well for most of the features but still not user friendly yet: 
-
-1. A user has to add dimension one by one, considering there are 20+ even 50+ dimensions, the entire process is really boring. 
-2. Each dimension requires define join condition between fact table and lookup table which even already be defined in previous dimensions many times.
-3. Less validation check, especially for Hierarchy and Derived dimension, there are many exceptions in further steps which blocked many people to save the cube definition without any idea about the issue.
-4. Save/Next buttons are confusing user to click which one for real next step or just save current dimension settings
-
-### Data Model of Cube Designer
-With the feedback from our internal users and external community, we have came up one idea and would like to introduce a new concept (widely known in Data Warehouse and Business Intelligence domain): Data Model: a data model organises data elements and standardises how the data elements relate to one another.[Wikipedia](http://en.wikipedia.org/wiki/Data_model). In Kylin, it using [Star Schema](http://en.wikipedia.org/wiki/Star_schema) as Data Model, which is the simplest style of data warehouse schema. The star schema consists of a few "fact tables" (possibly only one, justifying the name) referencing any number of "dimension tables". It actually already there behind dimensions and measures and now just come to first step to define the relationship between different tables before create each dimension. 
-Now (after v0.6.4), to create a cube will follow below steps:
-
-1. Define data model first: pick up one fact table and then add other lookup tables (with their join conditions). The data mode must be presents as Star Schema.
-2. Then add dimensions, since all join conditions already presented in data model, each dimension could be more easy to create, just need to know what's kind of type: normal, hierarchy and derived (will have another blog to introduce them). There's also one helper called _Auto Generator_ to help generate many dimensions within simple clicks.
-3. Then define measures and others as previous cube designer did
-
-### Benefits
-1. A data model is very easy to communicate between different roles and teams. Most of cases it just mapping to real database table relationship, like from Hive tables
-2. More easy to create dimensions and measures based on the data model
-3. Friendly error message with enhanced validation check when save cube
-
-
-### What's Next
-After this refactor, Kylin is now be able to introduce more powerful features, the major idea is to using different storages to serve same data model:
-
-* __Logical Model__: A Data Model presents logical data structure like Star Schema beyond data tables with more business meaning
-* __Physical Model__: define how the underlying data to be stored in persistent system, like HBase. There are already two of them: MOLAP (current Kylin version) and InvertedIndex (coming with 0.7.x release). And it also easy to extend to support others without change the Logical Model.
-* A new GUI of Cube Designer to support above is on the way.
-
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/blog/index.md
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.md b/docs/website/blog/index.md
deleted file mode 100644
index a272bd6..0000000
--- a/docs/website/blog/index.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: default
-title: Blog
----
-
-
-<main id="main" >
-<section id="first" class="main">
-    <header style="padding:2em 0 4em 0;">
-      <div class="container" >
-        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
-         <!-- second-->
-          <div id="content-container" class="animated fadeIn">
-            <div >
-            <!--
-            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
-            -->
-             <ul class="post-list">
-            {% for post in site.posts %}
-            <li>
-            <!--
-            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
-            -->
-            <p>{{post.url}}</p>
-        <h2 align="left">
-          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
-        </h2>
-      </li>
-    {% endfor %}
-  </ul>
-
-  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
-          </div>
-        </div>
-      </div>
-      <!-- /container --> 
-      
-    </header>
-  </section>
-
-  
-    
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/community/index.md
----------------------------------------------------------------------
diff --git a/docs/website/community/index.md b/docs/website/community/index.md
deleted file mode 100644
index a426f6c..0000000
--- a/docs/website/community/index.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-layout: default
-title: Community
----
-
-
-  <main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Community</span></h4>
-          <div class="row" style="margin-top:-20px;">
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">EVENTS</p>
-
-
-
-
-              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
-              <br/>Date - Wednesday, May 6, 2015 <br/>
-              Kylin will be present at Strata+Hadooop World</p>
-
-              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
-              <br/>Date - Sunday, December 14, 2014 <br/>
-              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
-
-              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
-              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
-               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
-
-              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
-              <br/>Date - October 25th, 2014 <br/>
-                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
-                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
-                  
-            </div>
-            
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DISCUSSION</p>
-              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
-              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
-              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
-            </div>
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DEVELOPMENT</p>
-              <p>All development takes place at : </p>
-              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
-              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
-
-              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
-            </div>
-          </div>
-        </div>
-        <!-- /container --> 
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
-  
-  </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.md b/docs/website/docs/index.md
deleted file mode 100644
index 599fd75..0000000
--- a/docs/website/docs/index.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: default
-title: Docs
----
-  
-<main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Docs</span></h4>
-
-         
-     <div id="content-container" class="animated fadeIn">
-       
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<!-- Migrate wiki to here 
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
-
--->
-
-     </div>
-         
-         </div><!--end of rightcontent-->
-         
-         </div><!--end of row-->
-        </div>
-        <!-- /container --> 
-        
-        
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
- 
-
-  
-
-      
-    </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/installation-content.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.md b/docs/website/docs/installation-content.md
deleted file mode 100644
index 0a7f872..0000000
--- a/docs/website/docs/installation-content.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
-<p class="content-p">
-On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
-<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
-</p>
-<br/>
-<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
-<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
-<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
-</p>
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/intro-content.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.md b/docs/website/docs/intro-content.md
deleted file mode 100644
index b1a9ad0..0000000
--- a/docs/website/docs/intro-content.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
-