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 2015/01/23 09:30:55 UTC
[14/51] [abbrv] incubator-kylin git commit: add kylin.io website
source code
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/assets/js/main.js
----------------------------------------------------------------------
diff --git a/docs/website/assets/js/main.js b/docs/website/assets/js/main.js
new file mode 100644
index 0000000..5a9b3d4
--- /dev/null
+++ b/docs/website/assets/js/main.js
@@ -0,0 +1,78 @@
+jQuery(document).ready(function ($) {
+
+
+
+
+
+ //parallax effect
+ var parallax_animation = function () {
+ $('.parallax').each(function (i, obj) {
+ var speed = $(this).attr('parallax-speed');
+ if (speed) {
+ var background_pos = '-' + (window.pageYOffset / speed) + "px";
+ $(this).css('background-position', 'center ' + background_pos);
+ }
+ });
+ }
+
+
+
+
+ // page elements animation
+ var image_animation = function () {
+ var diagramTop = $('#diagram').offset().top;
+ var coremTop = $('#core').offset().top;
+
+
+ var scroll_top = $(window).scrollTop();
+ var currentPosition = scroll_top + 320;
+
+ if (diagramTop < currentPosition) {
+ $('#diagram').addClass("animated fadeIn");
+ } else {
+ $('#diagram').removeClass("animated fadeIn");
+ }
+
+ if (coremTop< currentPosition) {
+
+ $('#core').addClass("animated fadeInRight");
+ } else {
+ $('#core').removeClass("animated fadeInRight");
+ }
+
+ }
+
+
+
+
+ //document page
+ $( "#content-container" ).load("docs/intro-content.html");
+ $( "#left-menu li" ).eq(0).css("background-color", "#efefef");
+
+ $( "#left-menu li" ).click(function(){
+ var selectedID = $(this).attr("id");
+ $("#content-container").load( "docs/"+selectedID+"-content.html", function() { $(this).fadeIn(500);});
+ $(this).css("background-color", "#efefef");
+ $(this).siblings().css("background-color", "transparent")
+ });
+
+ $('#nav-wrapper').height($("#nav").height());
+
+ $('#nav').affix({
+ offset: { top: $('#nav').offset().top }
+ });
+
+
+
+
+ $(document).scroll(function () {
+
+ parallax_animation();
+ image_animation();
+
+
+ });
+
+
+
+});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/blog/index.html
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.html b/docs/website/blog/index.html
new file mode 100644
index 0000000..0fc5a3b
--- /dev/null
+++ b/docs/website/blog/index.html
@@ -0,0 +1,29 @@
+---
+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 class="row">
+ <div class="col-sm-12 col-md-12">
+ <div >
+ <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /container -->
+
+ </header>
+ </section>
+
+
+
+</main>
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/community/index.html
----------------------------------------------------------------------
diff --git a/docs/website/community/index.html b/docs/website/community/index.html
new file mode 100644
index 0000000..9b2bbe7
--- /dev/null
+++ b/docs/website/community/index.html
@@ -0,0 +1,60 @@
+---
+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://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>The <a href="https://groups.google.com/forum/#!forum/kylin-olap" target="_blank">Google Group </a> is the place for discussions of Kylin features</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/2f3147d3/docs/website/css/main.scss
----------------------------------------------------------------------
diff --git a/docs/website/css/main.scss b/docs/website/css/main.scss
new file mode 100755
index 0000000..beee4e3
--- /dev/null
+++ b/docs/website/css/main.scss
@@ -0,0 +1,52 @@
+---
+# Only the main Sass file needs front matter (the dashes are enough)
+---
+@charset "utf-8";
+
+
+
+// Our variables
+$base-font-family: Helvetica, Arial, sans-serif;
+$base-font-size: 16px;
+$small-font-size: $base-font-size * 0.875;
+$base-line-height: 1.5;
+
+$spacing-unit: 30px;
+
+$text-color: #111;
+$background-color: #fdfdfd;
+$brand-color: #2a7ae2;
+
+$grey-color: #828282;
+$grey-color-light: lighten($grey-color, 40%);
+$grey-color-dark: darken($grey-color, 25%);
+
+// Width of the content area
+$content-width: 800px;
+
+$on-palm: 600px;
+$on-laptop: 800px;
+
+
+
+// Using media queries with like this:
+// @include media-query($on-palm) {
+// .wrapper {
+// padding-right: $spacing-unit / 2;
+// padding-left: $spacing-unit / 2;
+// }
+// }
+@mixin media-query($device) {
+ @media screen and (max-width: $device) {
+ @content;
+ }
+}
+
+
+
+// Import partials from `sass_dir` (defaults to `_sass`)
+@import
+ "base",
+ "layout",
+ "syntax-highlighting"
+;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/docs/index.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.html b/docs/website/docs/index.html
new file mode 100644
index 0000000..5057a13
--- /dev/null
+++ b/docs/website/docs/index.html
@@ -0,0 +1,93 @@
+---
+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/2f3147d3/docs/website/docs/installation-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.html b/docs/website/docs/installation-content.html
new file mode 100644
index 0000000..0a7f872
--- /dev/null
+++ b/docs/website/docs/installation-content.html
@@ -0,0 +1,16 @@
+---
+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/2f3147d3/docs/website/docs/intro-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.html b/docs/website/docs/intro-content.html
new file mode 100644
index 0000000..b1a9ad0
--- /dev/null
+++ b/docs/website/docs/intro-content.html
@@ -0,0 +1,54 @@
+---
+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>
+
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/fav.png
----------------------------------------------------------------------
diff --git a/docs/website/fav.png b/docs/website/fav.png
new file mode 100644
index 0000000..821bdd2
Binary files /dev/null and b/docs/website/fav.png differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/favicon.ico
----------------------------------------------------------------------
diff --git a/docs/website/favicon.ico b/docs/website/favicon.ico
new file mode 100644
index 0000000..9485685
Binary files /dev/null and b/docs/website/favicon.ico differ
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/feed.xml
----------------------------------------------------------------------
diff --git a/docs/website/feed.xml b/docs/website/feed.xml
new file mode 100644
index 0000000..a6628bd
--- /dev/null
+++ b/docs/website/feed.xml
@@ -0,0 +1,30 @@
+---
+layout: null
+---
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>{{ site.title | xml_escape }}</title>
+ <description>{{ site.description | xml_escape }}</description>
+ <link>{{ site.url }}{{ site.baseurl }}/</link>
+ <atom:link href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" rel="self" type="application/rss+xml"/>
+ <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
+ <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
+ <generator>Jekyll v{{ jekyll.version }}</generator>
+ {% for post in site.posts limit:10 %}
+ <item>
+ <title>{{ post.title | xml_escape }}</title>
+ <description>{{ post.content | xml_escape }}</description>
+ <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
+ <link>{{ post.url | prepend: site.baseurl | prepend: site.url }}</link>
+ <guid isPermaLink="true">{{ post.url | prepend: site.baseurl | prepend: site.url }}</guid>
+ {% for tag in post.tags %}
+ <category>{{ tag | xml_escape }}</category>
+ {% endfor %}
+ {% for cat in post.categories %}
+ <category>{{ cat | xml_escape }}</category>
+ {% endfor %}
+ </item>
+ {% endfor %}
+ </channel>
+</rss>
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/google0f781a4ad9402c21.html
----------------------------------------------------------------------
diff --git a/docs/website/google0f781a4ad9402c21.html b/docs/website/google0f781a4ad9402c21.html
new file mode 100644
index 0000000..9977b67
--- /dev/null
+++ b/docs/website/google0f781a4ad9402c21.html
@@ -0,0 +1 @@
+google-site-verification: google0f781a4ad9402c21.html
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2f3147d3/docs/website/index.html
----------------------------------------------------------------------
diff --git a/docs/website/index.html b/docs/website/index.html
new file mode 100644
index 0000000..ec8f3ed
--- /dev/null
+++ b/docs/website/index.html
@@ -0,0 +1,116 @@
+---
+layout: default
+title: Home
+---
+
+
+<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>Apache Kylin Overview</span></h4>
+ <div class="row" style="margin-top:-20px;">
+ <div class="col-sm-12 col-md-12">
+ <p class="title_text"> Kylin has been accepted as Apache Incubator Project on Nov 25, 2014.</p>
+ <p class="title_text"> Apache Kylin is an open source Distributed Analytics Engine from eBay Inc. that provides SQL interface and multi-dimensional analysis (OLAP) on Hadoop supporting extremely large datasets</p>
+ <img id="diagram" src="assets/images/kylin_diagram.png"> </div>
+ </div>
+ </div>
+ <!-- /container -->
+
+ </header>
+ </div>
+ <!-- / section -->
+ </div>
+ <!-- /container -->
+
+ <section id="second" class="main">
+ <header style="background-color:#efefef;">
+ <div class="container" >
+ <h4 class="section-title"><span> What is Kylin? </span></h4>
+ <!-- second-->
+ <div class="row">
+ <div class="col-sm-12 col-md-12">
+ <div align="left">
+ <p> <b>- Extremely Fast OLAP Engine at Scale: </b><br/>
+ <div class="indent">Kylin is designed to reduce query latency on Hadoop for 10+ billions of rows of data</div>
+ </p>
+ <p> <b>- ANSI SQL Interface on Hadoop: </b><br/>
+ <div class="indent">Kylin offers ANSI SQL on Hadoop and supports most ANSI SQL query functions</div>
+ </p>
+ <p> <b>- Interactive Query Capability: </b><br/>
+ <div class="indent">Users can interact with Hadoop data via Kylin at sub-second latency, better than Hive queries for the same dataset</div>
+ </p>
+ <p> <b>- MOLAP Cube:</b><br/>
+ <div class="indent">User can define a data model and pre-build in Kylin with more than 10+ billions of raw data records</div>
+ </p>
+ <p> <b>- Seamless Integration with BI Tools:</b><br/>
+ <div class="indent">Kylin currently offers integration capability with BI Tools like Tableau. Integration with Microstrategy and Excel is coming soon</div>
+ </p>
+ <p> <b>- Other Highlights:</b> <br/>
+ <div class="indent">- Job Management and Monitoring <br/>
+ - Compression and Encoding Support <br/>
+ - Incremental Refresh of Cubes <br/>
+ - Leverage HBase Coprocessor for query latency <br/>
+ - Approximate Query Capability for distinct Count (HyperLogLog) <br/>
+ - Easy Web interface to manage, build, monitor and query cubes <br/>
+ - Security capability to set ACL at Cube/Project Level <br/>
+ - Support LDAP Integration </div>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /container -->
+
+ </header>
+ </section>
+
+ <!-- second -->
+ <section id="first" class="main">
+ <header>
+ <div class="container" >
+ <h4 class="section-title"><span>Kylin Ecosystem</span></h4>
+ <div class="row">
+ <div class="col-sm-7 col-md-7">
+ <p> </p>
+ <p><b>Kylin Core:</b> Fundamental framework of Kylin OLAP Engine comprises of Metadata Engine, Query Engine, Job Engine and Storage Engine to run the entire stack. It also includes a REST Server to service client requests</p>
+ <p><b>Extensions:</b> Plugins to support additional functions and features </p>
+ <p><b>Integration:</b> Lifecycle Management Support to integrate with Job Scheduler, ETL, Monitoring and Alerting Systems </p>
+ <p><b>User Interface:</b> Allows third party users to build customized user-interface atop Kylin core</p>
+ <p><b>Drivers:</b> ODBC and JDBC drivers to support different tools and products, such as Tableau</p>
+ </div>
+ <div class="col-sm-5 col-md-5"> <img id="core" src="assets/images/core.png"> </div>
+ </div>
+ <!-- /container -->
+ </div>
+ </header>
+ </section>
+
+ <!-- fifth-->
+ <section id="fifth" class="main">
+ <header style="background-color:#efefef;" >
+ <div class="container" >
+ <h4 class="section-title"><span>For Developers</span></h4>
+ <div class="row">
+ <div class="col-sm-4 col-md-4">
+ <p><b>Source Code:</b></p>
+ <p class="less-margin"><a href="https://github.com/apache/incubator-kylin" target="_blank">Fork me on GitHub</a></p>
+ </div>
+ <div class="col-sm-4 col-md-4">
+ <p><b>Google Group:</b> </p>
+ <p class="less-margin"><a href="https://groups.google.com/forum/#!forum/kylin-olap" target="_blank"> Kylin OLAP Group</a></p>
+ </div>
+ <div class="col-sm-4 col-md-4">
+ <p><b>Developer Mail:</b></p>
+ <p class="less-margin"> <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
+ </div>
+ </div>
+ </div>
+ <!-- /container -->
+
+ </header>
+ </section>
+</main>