Author: liyang
Date: Tue Mar  1 08:47:05 2016
New Revision: 1733006

URL: http://svn.apache.org/viewvc?rev=1733006&view=rev
Log:
re-sync with document branch

Added:
    kylin/site/blog/2016/02/18/new-aggregation-group/
    kylin/site/blog/2016/02/18/new-aggregation-group/index.html
Removed:
    kylin/site/blog/2016/02/18/new-agg/index.html
    kylin/site/development/streaming_cubing.html
Modified:
    kylin/site/blog/index.html
    kylin/site/development/howto_docs.html
    kylin/site/docs/howto/howto_ldap_and_sso.html
    kylin/site/docs/index.html
    kylin/site/feed.xml

Added: kylin/site/blog/2016/02/18/new-aggregation-group/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/blog/2016/02/18/new-aggregation-group/index.html?rev=1733006&view=auto
==============================================================================
--- kylin/site/blog/2016/02/18/new-aggregation-group/index.html (added)
+++ kylin/site/blog/2016/02/18/new-aggregation-group/index.html Tue Mar  1 
08:47:05 2016
@@ -0,0 +1,365 @@
+<!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+<!doctype html>
+<html>
+       <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Kylin | New Aggregation Group</title>
+  <meta name="description" content="Full title of this article: New 
Aggregation Group Design to Tackle Curse of Dimension Problem (Especially when 
high cardinality dimensions exist)">
+  <meta name="author"      content="Apache Kylin">
+  <link rel="shortcut icon" href="fav.png" type="image/png">
+
+
+
+<link rel="stylesheet" href="/assets/css/animate.css">
+<!-- Bootstrap -->
+<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
+
+<!-- Fonts -->
+<!-- <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">
+
+  <!-- Custom styles -->
+  <link rel="stylesheet" href="/assets/css/styles.css">
+  <link rel="stylesheet" href="/assets/css/docs.css">
+  <link rel="stylesheet" href="/assets/css/pygments.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/blog/2016/02/18/new-aggregation-group/";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Kylin" 
href="http://kylin.apache.org/feed.xml"; />
+
+<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  //oringal tracker for kylin.io
+  ga('create', 'UA-55534813-1', 'auto');
+  //new tracker for kylin.apache.org
+  ga('create', 'UA-55534813-2', 'auto', {'name':'toplevel'});
+
+  ga('send', 'pageview');
+  ga('toplevel.send', 'pageview');
+
+
+</script>
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
+</head>
+
+       <body>
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<header id="header" >
+  
+  <div id="head" class="parallax" parallax-speed="3" >
+    <div id="logo" class="text-center"> <img class="img-circle" 
id="circlelogo" src="/assets/images/kylin_logo.jpg"> <span class="title" 
>Apache Kylin™</span> <span class="tagline">Extreme OLAP Engine for Big 
Data</span> 
+    </div>
+  </div>
+  
+
+  <!-- Main Menu -->
+  <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+  <div class="container-fluid" id="nav">
+    <!--
+    <img class="img-circle" width="40px" height="40px" id="circlelogo" 
src="/assets/images/kylin_logo.jpg">
+    -->
+    <!-- Brand and toggle get grouped for better mobile display -->
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+     
+    </div>
+
+    <!-- Collect the nav links, forms, and other content for toggling -->
+    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+      <ul class="nav navbar-nav">
+     <li><a href="/">Home</a></li>
+          <li><a href="/docs" >Docs</a></li>
+          <li><a href="/download">Download</li>
+          <li><a href="/community" >Community</a></li>
+          <li><a href="/development" >Development</a></li>
+          <li><a href="/blog">Blog</li>
+          <li><a href="/cn" >中文版</a></li>  
+          <li><a href="https://twitter.com/apachekylin"; target="_blank" 
class="fa fa-twitter fa-lg" title="Twitter: @ApacheKylin" ></a></li>
+          <li><a href="https://github.com/apache/kylin"; target="_blank" 
class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li>          
+          <li><a href="https://www.facebook.com/kylinio"; target="_blank" 
class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li>   
+      </ul>      
+    </div><!-- /.navbar-collapse -->
+  </div><!-- /.container-fluid -->
+</nav>
+ </header>
+
+               <div class="page-content">
+                       <header style=" padding:2em 0 0 0">
+                       <div class="container" >
+                               <h4 class="section-title"><span>Apache Kylin™ 
Technical Blog</span></h4>
+                       </div>
+               </div>
+
+               <div class="container">
+                       <div>
+                               <article class="post-content" > 
+                               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<div class="post" style=" padding:2em 4em 4em 4em">
+
+  <header class="post-header">
+    <h1 class="post-title">New Aggregation Group</h1>
+    <p class="post-meta" >Feb 18, 2016 • Hongbin Ma</p>
+  </header>
+
+  <article class="post-content" >
+    <p>Full title of this article: <code class="highlighter-rouge">New 
Aggregation Group Design to Tackle Curse of Dimension Problem (Especially when 
high cardinality dimensions exist)</code></p>
+
+<h2 id="abstract">Abstract</h2>
+
+<p>Curse of dimension is an infamous problem for all of the OLAP engines based 
on pre-calculation. In versions prior to 2.1, Kylin tried to address the 
problem by some simple techniques, which relieved the problem to some degree. 
During our open source practices, we found these techniques lack of systematic 
design thinking, and incapable of addressing lots of common issues. In Kylin 
2.1 we redesigned the aggregation group mechanism to make it better server all 
kinds of cube design scenarios.</p>
+
+<h2 id="introduction">Introduction</h2>
+
+<p>It is a known fact that Kylin speeds up query performance by 
pre-calculating cubes, which in term contains different combination of all 
dimensions, a.k.a. cuboids. The problem is that #cuboids grows exponentially 
with the #dimension. For example, there’re totally 8 possible cuboids for a 
cube with 3 dimensions, however there are 16 possible cuboids for a cube with 4 
dimensions. Even though Kylin is using scalable computation framework 
(MapReduce) and scalable storage (HBase) to compute and store the cubes, it is 
still unacceptable if cube size turns up to be times bigger than the original 
data source.</p>
+
+<p>The solution is to prune unnecessary dimensions. As we previously discussed 
in http://kylin.apache.org/docs/howto/howto_optimize_cubes.html, it can be 
approached by two ways:</p>
+
+<p>First, we can remove dimensions those do NOT necessarily have to be 
dimensions. For example, imagine a date lookup table where keeps cal_dt is the 
PK column as well as lots of deriving columns like week_begin_dt, 
month_begin_dt. Even though analysts need week_begin_dt as a dimension, we can 
prune it as it can always be calculated from dimension cal_dt, this is the 
“derived” optimization.</p>
+
+<p>Second, some of combinations between dimensions can be pruned. This is the 
main discuss for this article, and let’s call it “combination pruning”. 
For example, if a dimension is specified as “mandatory”, then all of the 
combinations without such dimension can be pruned. If dimension A,B,C forms a 
“hierarchy” relation, then only combinations with A, AB or ABC shall be 
remained. Prior to 2.1, Kylin also had an “aggregation group” concept, 
which also serves for combination pruning. However it is poorly documented and 
hard to understand (I also found it is difficult to explain). Anyway we’ll 
skip it as we will re-define what “aggregation group” really is.</p>
+
+<p>During our open source practice we found some significant drawbacks for the 
original combination pruning techniques. Firstly, these techniques are isolated 
rather than systematically well designed. Secondly, the original aggregation 
group is poorly designed and documented that it is hardly used outside eBay. 
Thirdly, which is the most important one, it’s not expressive enough in terms 
of describing semantics.</p>
+
+<p>To illustrate the describing semantic issue, let’s imagine a transaction 
data cube where there is a very high cardinality dimension called buyer_id, as 
well as other normal dimensions like transaction date cal_dt, buyers’ 
location city, etc. The analyst might need to get an overview impression by 
grouping non-buyer_id dimensions, like grouping only cal_dt. The analyst might 
also need to drill down to check a specific buyer’s behavior by providing a 
buyer_id filter. Given the fact that buy_id has really high cardinality, once 
the buyer_id is determined, the related records should be very few (so just use 
the base cuboid and do some query time aggregation to “aggregate out” the 
unwanted dimensions is okay). In such cases the expected output of pruning 
policy should be:</p>
+
+<table>
+  <tbody>
+    <tr>
+      <td>Cuboid</td>
+      <td>Compute or Skip</td>
+      <td>Reason</td>
+    </tr>
+    <tr>
+      <td>———————-</td>
+      <td>—————–</td>
+      
<td>————————————————————————————————————————</td>
+    </tr>
+    <tr>
+      <td>city</td>
+      <td>compute</td>
+      <td>Group by location</td>
+    </tr>
+    <tr>
+      <td>cal_dt</td>
+      <td>compute</td>
+      <td>Group by date</td>
+    </tr>
+    <tr>
+      <td>buyer_id</td>
+      <td>skip</td>
+      <td>Group by buyer yield too many results to analyze, buyer_id should be 
used as a filter and used by visiting base cuboid</td>
+    </tr>
+    <tr>
+      <td>city,cal_dt</td>
+      <td>compute</td>
+      <td>Group by location and date</td>
+    </tr>
+    <tr>
+      <td>city,buyer_id</td>
+      <td>skip</td>
+      <td>Group by buyer yield too many results to analyze, buyer_id should be 
used as a filter and used by visiting base cuboid</td>
+    </tr>
+    <tr>
+      <td>cal_dt,buyer_id</td>
+      <td>skip</td>
+      <td>Group by buyer yield too many results to analyze, buyer_id should be 
used as a filter and used by visiting base cuboid</td>
+    </tr>
+    <tr>
+      <td>city,cal_dt,buyer_id</td>
+      <td>compute</td>
+      <td>Base cuboid</td>
+    </tr>
+  </tbody>
+</table>
+
+<p>Unfortunately there is no way to express such pruning settings with the 
existing semantic tools prior to Kylin 2.1</p>
+
+<h2 id="new-aggregation-group-design">New Aggregation Group Design</h2>
+
+<p>In Kylin 2.1 we redesigned the aggregation group mechanism in the jira 
issue https://issues.apache.org/jira/browse/KYLIN-242. The issue was named 
“Kylin Cuboid Whitelist” because the new design even enables cube designer 
to specify expected cuboids by keeping a whitelist, imagine how expressive it 
can be!</p>
+
+<p>In the new design, aggregation group (abbr. AGG) is defined as a cluster of 
cuboids that subject to shared rules. Cube designer can define one or more AGG 
for a cube, and the union of all AGGs’ contributed cuboids consists of the 
valid combination for a cube. Notice a cuboid is allowed to appear in multiple 
AGGs, and it will only be computed once during cube building.</p>
+
+<p>If you look into the internal of AGG ( 
https://github.com/apache/kylin/blob/2.x-staging/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java)
 there’re two important properties defined: <code 
class="highlighter-rouge">@JsonProperty("includes")</code> and <code 
class="highlighter-rouge">@JsonProperty("select_rule")</code>.</p>
+
+<p><code class="highlighter-rouge">@JsonProperty("includes")</code><br />
+This property is for specifying which dimensions are included in the AGG. The 
value of the property must be a subset of the complete dimensions. Keep the 
proper minimal by including only necessary dimensions.</p>
+
+<p><code class="highlighter-rouge">@JsonProperty("select_rule")</code><br />
+Select rules are the rules that all valid cuboids in the AGG will subject to. 
Here cube designers can define multiple rules to apply on the included 
dimensions, currently there’re three types of rule:</p>
+
+<ul>
+  <li>Hierarchy rules, described above</li>
+  <li>Mandatory rule, described above</li>
+  <li>Joint rules. This is a newly introduced rule. If two or more dimensions 
are “joint”, then any valid cuboid will either contain none of these 
dimensions, or contain them all. In other words, these dimensions will always 
be “together”. This is useful when the cube designer is sure some of the 
dimensions will always be queried together. It is also a nuclear weapon for 
combination pruning on less-likely-to-use dimensions. Suppose you have 20 
dimensions, the first 10 dimensions are frequently used and the latter 10 are 
less likely to be used. By joining the latter 10 dimensions as “joint”, 
you’re effectively reducing cuboid numbers from 220 to 211. Actually this is 
pretty much what the old “aggregation group” mechanism was for. If you’re 
using it prior Kylin 2.1, our metadata upgrade tool will automatically 
translate it to joint semantics.<br />
+By flexibly using the new aggregation group you can in theory control whatever 
cuboid to compute/skip. This could significant reduce the computation and 
storage overhead, especially when the cube is serving for a fixed dashboard, 
which will reproduce SQL queries that only require some specific cuboids. In 
extreme cases you can configure each AGG contain only one cuboid, and a handful 
of AGGs will consists of the cuboid whitelist that you’ll need.</li>
+</ul>
+
+<p>Kylin’s cuboid computation scheduler will arrange all the valid 
cuboids’ computation order based on AGG definition. You don’t need to care 
about how it’s implemented, because every cuboid will just got computed and 
computed only once. The only thing you need to keep in mind is: don’t abuse 
AGG. Leverage AGG’s select rules as much as possible, and avoid introducing a 
lot of “single cuboid AGG” unless it’s really necessary. Too many AGG is 
a burden for cuboid computation scheduler, as well as the query engine.</p>
+
+<h2 id="buyerid-issue-revisited">Buyer_id issue revisited</h2>
+
+<p>Now that we have got the new AGG tool, the buyer_id issue can be revisited. 
What we need to do is to define two AGGs for the cube:</p>
+
+<ul>
+  <li>AGG1 includes: [cal_dt, city, buyer_id] 
select_rules:{joint:[cal_dt,city,buyer_id]}</li>
+  <li>AGG2 includes: [cal_dt,city] select rules:{}</li>
+</ul>
+
+<hr />
+
+<p>The first AGG will contribute the base cuboid only, and the second AGG will 
contribute all the cuboids without buyer_id.</p>
+
+<h2 id="start-using-it">Start using it</h2>
+
+<p>The new aggregation group mechanism should be available in Kylin 2.1. Up to 
today (2016.2.18) Kylin has not released 2.1 version yet. Use it at your own 
risk by compiling the latest 2.x-staging code branch.</p>
+
+<p>For legacy users you will need to upgrade your metadata store from Kylin 
2.0 to Kylin 2.1. Cube rebuild is not required if you’re upgrading from Kylin 
2.0.</p>
+
+  </article>
+
+</div>
+
+
+
+
+
+                               </article>
+                       </div>
+               </div>          
+               <!--
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+-->
+
+<footer id="underfooter">
+    <div class="container">
+        <div class="row">
+            <div class="col-md-12 widget">
+                <div class="widget-body" style="text-align:center">
+                    <a href="http://www.apache.org";>
+                        <img id="asf-logo" alt="Apache Software Foundation" 
src="/assets/images/feather-small.gif">
+                    </a>
+
+                    <div>
+                        The contents of this website are © 2015 Apache 
Software Foundation under the terms of the <a
+                            href="http://www.apache.org/licenses/LICENSE-2.0";> 
Apache License v2 </a>. Apache Kylin and
+                        its logo are trademarks of the Apache Software 
Foundation.
+                    </div>
+
+                </div>
+            </div>
+        </div>
+        <!-- /row of widgets -->
+
+    </div>
+    <div></div>
+
+</footer>
+
+       <script src="/assets/js/jquery-1.9.1.min.js"></script> 
+       <script src="/assets/js/bootstrap.min.js"></script> 
+       <script src="/assets/js/main.js"></script>
+       </body>
+</html>
+
+
+
+

Modified: kylin/site/blog/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/blog/index.html?rev=1733006&r1=1733005&r2=1733006&view=diff
==============================================================================
--- kylin/site/blog/index.html (original)
+++ kylin/site/blog/index.html Tue Mar  1 08:47:05 2016
@@ -174,7 +174,7 @@
             
             <li>
         <h2 align="left" style="margin:0px">
-          <a class="post-link" href="/blog/2016/02/18/new-agg/">New 
Aggregation Group</a></h2><div align="left" class="post-meta">posted: Feb 18, 
2016</div>
+          <a class="post-link" 
href="/blog/2016/02/18/new-aggregation-group/">New Aggregation 
Group</a></h2><div align="left" class="post-meta">posted: Feb 18, 2016</div>
         
       </li>
     
@@ -210,13 +210,13 @@
     
             <li>
         <h2 align="left" style="margin:0px">
-          <a class="post-link" 
href="/blog/2015/10/25/release-v1.1-incubating/">Apache Kylin v1.1 (incubating) 
Release Announcement</a></h2><div align="left" class="post-meta">posted: Oct 
25, 2015</div>
+          <a class="post-link" 
href="/cn/blog/2015/10/25/release-v1.1-incubating/">Apache Kylin v1.1 
(incubating) 正式发布</a></h2><div align="left" class="post-meta">posted: 
Oct 25, 2015</div>
         
       </li>
     
             <li>
         <h2 align="left" style="margin:0px">
-          <a class="post-link" 
href="/cn/blog/2015/10/25/release-v1.1-incubating/">Apache Kylin v1.1 
(incubating) 正式发布</a></h2><div align="left" class="post-meta">posted: 
Oct 25, 2015</div>
+          <a class="post-link" 
href="/blog/2015/10/25/release-v1.1-incubating/">Apache Kylin v1.1 (incubating) 
Release Announcement</a></h2><div align="left" class="post-meta">posted: Oct 
25, 2015</div>
         
       </li>
     

Modified: kylin/site/development/howto_docs.html
URL: 
http://svn.apache.org/viewvc/kylin/site/development/howto_docs.html?rev=1733006&r1=1733005&r2=1733006&view=diff
==============================================================================
--- kylin/site/development/howto_docs.html (original)
+++ kylin/site/development/howto_docs.html Tue Mar  1 08:47:05 2016
@@ -612,9 +612,6 @@ check this doc’s source code for mo
 <ol>
   <li><code class="highlighter-rouge">cd website</code></li>
   <li><code class="highlighter-rouge">svn co 
https://svn.apache.org/repos/asf/kylin/site _site</code></li>
-  <li><code class="highlighter-rouge">sudo apt-get install rubygems 
ruby2.1-dev zlib1g-dev</code> (linux)</li>
-  <li><code class="highlighter-rouge">sudo gem install bundler github-pages 
jekyll</code></li>
-  <li><code class="highlighter-rouge">bundle install</code></li>
 </ol>
 
 <p><strong>_site</strong> folder is working dir which will be removed anytime 
by maven or git, please make sure only check out from svn when you want to 
publish to website.</p>
@@ -631,9 +628,10 @@ check this doc’s source code for mo
 <h3 id="pushing-to-site">Pushing to site</h3>
 
 <ol>
+  <li>Copy jekyll generated <code class="highlighter-rouge">_site</code> to 
svn <code class="highlighter-rouge">website/_site</code></li>
   <li><code class="highlighter-rouge">cd website/_site</code></li>
   <li><code class="highlighter-rouge">svn status</code></li>
-  <li>You’ll need to <code class="highlighter-rouge">svn add</code> any new 
files</li>
+  <li>You will need to <code class="highlighter-rouge">svn add</code> any new 
files</li>
   <li><code class="highlighter-rouge">svn commit -m 'UPDATE 
MESSAGE'</code></li>
 </ol>
 

Modified: kylin/site/docs/howto/howto_ldap_and_sso.html
URL: 
http://svn.apache.org/viewvc/kylin/site/docs/howto/howto_ldap_and_sso.html?rev=1733006&r1=1733005&r2=1733006&view=diff
==============================================================================
--- kylin/site/docs/howto/howto_ldap_and_sso.html (original)
+++ kylin/site/docs/howto/howto_ldap_and_sso.html Tue Mar  1 08:47:05 2016
@@ -1827,11 +1827,11 @@
 
 <h4 id="configure-ldap-server-info">Configure LDAP server info</h4>
 
-<p>Firstly, provide LDAP URL, and username/password if the LDAP server is 
secured; The password in kylin.properties need be salted; You can Google 
“Generate a BCrypt Password” or run 
org.apache.kylin.rest.security.PasswordPlaceholderConfigurer to get a hash of 
your password.</p>
+<p>Firstly, provide LDAP URL, and username/password if the LDAP server is 
secured; The password in kylin.properties need be encrypted with AES with a 
given key; to encrypt it, you download latest Kylin source code and then run 
org.apache.kylin.rest.security.PasswordPlaceholderConfigurer in your IDE, 
passing “AES” as the first parameter, your plain password as the second 
parameter to get an encrypted password.</p>
 
 <div class="highlighter-rouge"><pre 
class="highlight"><code>ldap.server=ldap://&lt;your_ldap_host&gt;:&lt;port&gt;
 ldap.username=&lt;your_user_name&gt;
-ldap.password=&lt;your_password_hash&gt;
+ldap.password=&lt;your_password_encrypted&gt;
 </code></pre>
 </div>
 

Modified: kylin/site/docs/index.html
URL: 
http://svn.apache.org/viewvc/kylin/site/docs/index.html?rev=1733006&r1=1733005&r2=1733006&view=diff
==============================================================================
--- kylin/site/docs/index.html (original)
+++ kylin/site/docs/index.html Tue Mar  1 08:47:05 2016
@@ -1827,6 +1827,8 @@
 
 <p>Apache Kylin™ is an open source Distributed Analytics Engine designed to 
provide SQL interface and multi-dimensional analysis (OLAP) on Hadoop 
supporting extremely large datasets, original contributed from eBay Inc.</p>
 
+<p>Future documents: <a href="/docs2/">v2.x</a></p>
+
 <h2 id="installation--setup">Installation &amp; Setup</h2>
 
 <p>Please follow installation &amp; tutorial in the navigation panel.</p>

Modified: kylin/site/feed.xml
URL: 
http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1733006&r1=1733005&r2=1733006&view=diff
==============================================================================
--- kylin/site/feed.xml (original)
+++ kylin/site/feed.xml Tue Mar  1 08:47:05 2016
@@ -19,13 +19,13 @@
     <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>Wed, 17 Feb 2016 19:56:15 -0800</pubDate>
-    <lastBuildDate>Wed, 17 Feb 2016 19:56:15 -0800</lastBuildDate>
+    <pubDate>Tue, 01 Mar 2016 08:37:33 +0000</pubDate>
+    <lastBuildDate>Tue, 01 Mar 2016 08:37:33 +0000</lastBuildDate>
     <generator>Jekyll v2.5.3</generator>
     
       <item>
         <title>New Aggregation Group</title>
-        <description>&lt;p&gt;Full title of this article: &lt;strong&gt;New 
Aggregation Group Design to Tackle Curse of Dimension Problem (Especially when 
high cardinality dimensions exist)&lt;/strong&gt;&lt;/p&gt;
+        <description>&lt;p&gt;Full title of this article: &lt;code 
class=&quot;highlighter-rouge&quot;&gt;New Aggregation Group Design to Tackle 
Curse of Dimension Problem (Especially when high cardinality dimensions 
exist)&lt;/code&gt;&lt;/p&gt;
 
 &lt;h2 id=&quot;abstract&quot;&gt;Abstract&lt;/h2&gt;
 
@@ -37,7 +37,7 @@
 
 &lt;p&gt;The solution is to prune unnecessary dimensions. As we previously 
discussed in http://kylin.apache.org/docs/howto/howto_optimize_cubes.html, it 
can be approached by two ways:&lt;/p&gt;
 
-&lt;p&gt;First, we can remove dimensions those do NOT necessarily have to be 
dimensions. For example, imagine a date lookup table where keeps cal_dt is the 
PK column as well as lots of deriving columns like week_begin_dt,  
month_begin_dt.  Even though analysts need week_begin_dt as a dimension, we can 
prune it as it can always be calculated from dimension cal_dt, this is the 
“derived” optimization.&lt;/p&gt;
+&lt;p&gt;First, we can remove dimensions those do NOT necessarily have to be 
dimensions. For example, imagine a date lookup table where keeps cal_dt is the 
PK column as well as lots of deriving columns like week_begin_dt, 
month_begin_dt. Even though analysts need week_begin_dt as a dimension, we can 
prune it as it can always be calculated from dimension cal_dt, this is the 
“derived” optimization.&lt;/p&gt;
 
 &lt;p&gt;Second, some of combinations between dimensions can be pruned. This 
is the main discuss for this article, and let’s call it “combination 
pruning”. For example, if a dimension is specified as “mandatory”, then 
all of the combinations without such dimension can be pruned. If dimension 
A,B,C forms a “hierarchy” relation, then only combinations with A, AB or 
ABC shall be remained. Prior to 2.1, Kylin also had an “aggregation group” 
concept, which also serves for combination pruning. However it is poorly 
documented and hard to understand (I also found it is difficult to explain). 
Anyway we’ll skip it as we will re-define what “aggregation group” really 
is.&lt;/p&gt;
 
@@ -95,8 +95,6 @@
   &lt;/tbody&gt;
 &lt;/table&gt;
 
-&lt;hr /&gt;
-
 &lt;p&gt;Unfortunately there is no way to express such pruning settings with 
the existing semantic tools prior to Kylin 2.1&lt;/p&gt;
 
 &lt;h2 id=&quot;new-aggregation-group-design&quot;&gt;New Aggregation Group 
Design&lt;/h2&gt;
@@ -116,11 +114,10 @@ Select rules are the rules that all vali
 &lt;ul&gt;
   &lt;li&gt;Hierarchy rules, described above&lt;/li&gt;
   &lt;li&gt;Mandatory rule, described above&lt;/li&gt;
-  &lt;li&gt;Joint rules. This is a newly introduced rule. If two or more 
dimensions are “joint”, then any valid cuboid will either contain none of 
these dimensions, or contain them all. In other words, these dimensions will 
always be “together”. This is useful when the cube designer is sure some of 
the dimensions will always be queried together. It is also a nuclear weapon for 
combination pruning on less-likely-to-use dimensions. Suppose you have 20 
dimensions, the first 10 dimensions are frequently used and the latter 10 are 
less likely to be used. By joining the latter 10 dimensions as “joint”, 
you’re effectively reducing cuboid numbers from 220 to 211. Actually this is 
pretty much what the old “aggregation group” mechanism was for. If you’re 
using it prior Kylin 2.1, our metadata upgrade tool will automatically 
translate it to joint semantics.&lt;/li&gt;
+  &lt;li&gt;Joint rules. This is a newly introduced rule. If two or more 
dimensions are “joint”, then any valid cuboid will either contain none of 
these dimensions, or contain them all. In other words, these dimensions will 
always be “together”. This is useful when the cube designer is sure some of 
the dimensions will always be queried together. It is also a nuclear weapon for 
combination pruning on less-likely-to-use dimensions. Suppose you have 20 
dimensions, the first 10 dimensions are frequently used and the latter 10 are 
less likely to be used. By joining the latter 10 dimensions as “joint”, 
you’re effectively reducing cuboid numbers from 220 to 211. Actually this is 
pretty much what the old “aggregation group” mechanism was for. If you’re 
using it prior Kylin 2.1, our metadata upgrade tool will automatically 
translate it to joint semantics.&lt;br /&gt;
+By flexibly using the new aggregation group you can in theory control whatever 
cuboid to compute/skip. This could significant reduce the computation and 
storage overhead, especially when the cube is serving for a fixed dashboard, 
which will reproduce SQL queries that only require some specific cuboids. In 
extreme cases you can configure each AGG contain only one cuboid, and a handful 
of AGGs will consists of the cuboid whitelist that you’ll need.&lt;/li&gt;
 &lt;/ul&gt;
 
-&lt;p&gt;By flexibly using the new aggregation group you can in theory control 
whatever cuboid to compute/skip. This could significant reduce the computation 
and storage overhead, especially when the cube is serving for a fixed 
dashboard, which will reproduce SQL queries that only require some specific 
cuboids.  In extreme cases you can configure each AGG contain only one cuboid, 
and a handful of AGGs will consists of the cuboid whitelist that you’ll 
need.&lt;/p&gt;
-
 &lt;p&gt;Kylin’s cuboid computation scheduler will arrange all the valid 
cuboids’ computation order based on AGG definition. You don’t need to care 
about how it’s implemented, because every cuboid will just got computed and 
computed only once. The only thing you need to keep in mind is: don’t abuse 
AGG. Leverage AGG’s select rules as much as possible, and avoid introducing a 
lot of “single cuboid AGG” unless it’s really necessary. Too many AGG is 
a burden for cuboid computation scheduler, as well as the query 
engine.&lt;/p&gt;
 
 &lt;h2 id=&quot;buyerid-issue-revisited&quot;&gt;Buyer_id issue 
revisited&lt;/h2&gt;
@@ -128,22 +125,23 @@ Select rules are the rules that all vali
 &lt;p&gt;Now that we have got the new AGG tool, the buyer_id issue can be 
revisited. What we need to do is to define two AGGs for the cube:&lt;/p&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;AGG1&lt;/code&gt; 
includes: [cal_dt, city, buyer_id] 
select_rules:{joint:[cal_dt,city,buyer_id]}&lt;/li&gt;
-  &lt;li&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;AGG2&lt;/code&gt; 
includes: [cal_dt,city] select rules:{}&lt;/li&gt;
+  &lt;li&gt;AGG1 includes: [cal_dt, city, buyer_id] 
select_rules:{joint:[cal_dt,city,buyer_id]}&lt;/li&gt;
+  &lt;li&gt;AGG2 includes: [cal_dt,city] select rules:{}&lt;/li&gt;
 &lt;/ul&gt;
 
+&lt;hr /&gt;
+
 &lt;p&gt;The first AGG will contribute the base cuboid only, and the second 
AGG will contribute all the cuboids without buyer_id.&lt;/p&gt;
 
 &lt;h2 id=&quot;start-using-it&quot;&gt;Start using it&lt;/h2&gt;
 
 &lt;p&gt;The new aggregation group mechanism should be available in Kylin 2.1. 
Up to today (2016.2.18) Kylin has not released 2.1 version yet. Use it at your 
own risk by compiling the latest 2.x-staging code branch.&lt;/p&gt;
 
-&lt;p&gt;For legacy users you will need to upgrade your metadata store from 
Kylin 2.0. Cube rebuild is not required if you’re upgrading from Kylin 
2.0.&lt;/p&gt;
-
+&lt;p&gt;For legacy users you will need to upgrade your metadata store from 
Kylin 2.0 to Kylin 2.1. Cube rebuild is not required if you’re upgrading from 
Kylin 2.0.&lt;/p&gt;
 </description>
-        <pubDate>Thu, 18 Feb 2016 08:30:00 -0800</pubDate>
-        <link>http://kylin.apache.org/blog/2016/02/18/new-agg/</link>
-        <guid 
isPermaLink="true">http://kylin.apache.org/blog/2016/02/18/new-agg/</guid>
+        <pubDate>Thu, 18 Feb 2016 16:30:00 +0000</pubDate>
+        
<link>http://kylin.apache.org/blog/2016/02/18/new-aggregation-group/</link>
+        <guid 
isPermaLink="true">http://kylin.apache.org/blog/2016/02/18/new-aggregation-group/</guid>
         
         
         <category>blog</category>
@@ -173,7 +171,7 @@ Select rules are the rules that all vali
 &lt;p&gt;We’ll publish more detailed documents on how to use Kylin Streaming 
soon. In latest 2.x branch we are also working on more complicated load 
balancing schemes for streaming cubing. Please stay tuned.&lt;/p&gt;
 
 </description>
-        <pubDate>Wed, 03 Feb 2016 08:30:00 -0800</pubDate>
+        <pubDate>Wed, 03 Feb 2016 16:30:00 +0000</pubDate>
         <link>http://kylin.apache.org/blog/2016/02/03/streaming-cubing/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2016/02/03/streaming-cubing/</guid>
         
@@ -205,7 +203,7 @@ With sub-seconds query latency feature o
 
 &lt;p&gt;Enjoy!&lt;/p&gt;
 </description>
-        <pubDate>Fri, 25 Dec 2015 15:23:00 -0800</pubDate>
+        <pubDate>Fri, 25 Dec 2015 23:23:00 +0000</pubDate>
         
<link>http://kylin.apache.org/blog/2015/12/25/support-powerbi-tableau9/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2015/12/25/support-powerbi-tableau9/</guid>
         
@@ -237,7 +235,7 @@ With sub-seconds query latency feature o
 &lt;p&gt;Enjoy!&lt;/p&gt;
 
 </description>
-        <pubDate>Fri, 25 Dec 2015 15:23:00 -0800</pubDate>
+        <pubDate>Fri, 25 Dec 2015 23:23:00 +0000</pubDate>
         
<link>http://kylin.apache.org/cn/blog/2015/12/25/support-powerbi-tableau9/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/cn/blog/2015/12/25/support-powerbi-tableau9/</guid>
         
@@ -298,7 +296,7 @@ send mail to Apache Kylin dev mailing li
 
 &lt;p&gt;&lt;em&gt;Great thanks to everyone who 
contributed!&lt;/em&gt;&lt;/p&gt;
 </description>
-        <pubDate>Wed, 23 Dec 2015 14:28:00 -0800</pubDate>
+        <pubDate>Wed, 23 Dec 2015 22:28:00 +0000</pubDate>
         <link>http://kylin.apache.org/blog/2015/12/23/release-v1.2/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2015/12/23/release-v1.2/</guid>
         
@@ -359,7 +357,7 @@ send mail to Apache Kylin dev mailing li
 
 
&lt;p&gt;&lt;em&gt;感谢每一位朋友的参与和贡献!&lt;/em&gt;&lt;/p&gt;
 </description>
-        <pubDate>Wed, 23 Dec 2015 14:28:00 -0800</pubDate>
+        <pubDate>Wed, 23 Dec 2015 22:28:00 +0000</pubDate>
         <link>http://kylin.apache.org/cn/blog/2015/12/23/release-v1.2/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/cn/blog/2015/12/23/release-v1.2/</guid>
         
@@ -369,66 +367,6 @@ send mail to Apache Kylin dev mailing li
       </item>
     
       <item>
-        <title>Apache Kylin v1.1 (incubating) 正式发布</title>
-        <description>&lt;p&gt;Apache Kylin社区非常高兴宣布Apache Kylin 
v1.1 (incubating)正式发布.&lt;/p&gt;
-
-&lt;p&gt;Apache 
Kylin一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持è¶
…大规模数据,最初由eBay Inc. 
开发并贡献至开源社区。&lt;/p&gt;
-
-&lt;p&gt;下载Apache Kylin v1.1 (incubating) 源代码及二进制安装包
, &lt;br /&gt;
-请访问&lt;a 
href=&quot;http://kylin.apache.org/cn/download/&quot;&gt;下载&lt;/a&gt;页面.&lt;/p&gt;
-
-&lt;p&gt;这是一个主要的版本发布带来了更稳定,健壮及更好管理的版本,Apache
 Kylin社区解决了56个issue,包
括Bug修复,功能增强及一些新特性等。&lt;/p&gt;
-
-&lt;h2 id=&quot;section&quot;&gt;主要变化&lt;/h2&gt;
-
-&lt;p&gt;&lt;strong&gt;Kylin 核心功能增强&lt;/strong&gt;&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;支持Cube数据保留时间设置 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-906&quot;&gt;KYLIN-906&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;升级Apache Calcite至1.4 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1047&quot;&gt;KYLIN-1047&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;在Cube构建成功后清理Hive中间文件 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-589&quot;&gt;KYLIN-589&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;当Hive返回空值时继续Cube构建任务 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-772&quot;&gt;KYLIN-772&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;支持可配置HBase压缩算法,包括Snappy及GZip &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-956&quot;&gt;KYLIN-956&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;支持将Cube数据导入到独立的HBase集群 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-957&quot;&gt;KYLIN-957&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;将Roaring bitmaps引入InvertedIndex模块 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1034&quot;&gt;KYLIN-1034&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;&lt;strong&gt;主要Bug修复&lt;/strong&gt;&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;当有多个IN条件时SQL执行缓慢 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-740&quot;&gt;KYLIN-740&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;Jobs页面加载Bug &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-950&quot;&gt;KYLIN-950&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;查询缓存没有随元数据更新而刷新 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-771&quot;&gt;KYLIN-771&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;在事实表上执行“select * from fact”不工作 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-847&quot;&gt;KYLIN-847&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;SQL执行时报Float 不能转换成为Double异常 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-918&quot;&gt;KYLIN-918&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;更新Cube数据模型失败后元数据状态不一致 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-958&quot;&gt;KYLIN-958&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;SQL中关键字”offset”的Bug &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-983&quot;&gt;KYLIN-983&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;平均值函数AVG不工作 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-985&quot;&gt;KYLIN-985&lt;/a&gt;&lt;/li&gt;
-  &lt;li&gt;字典中空值’‘导致Cube合并失败 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1004&quot;&gt;KYLIN-1004&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;&lt;strong&gt;升级&lt;/strong&gt;  &lt;br /&gt;
-我们建议从v0.7.x及v1.0升级到此版本已获得更好的性能,稳定性及Bug修复等。&lt;br
 /&gt;
-并且与社区最新特性及支持保持同步。&lt;/p&gt;
-
-&lt;p&gt;&lt;strong&gt;支持&lt;/strong&gt;  &lt;br /&gt;
-升级和使用过程中有任何问题,请: &lt;br /&gt;
-提交至Kylin的JIRA: &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN/&quot;&gt;https://issues.apache.org/jira/browse/KYLIN/&lt;/a&gt;
  &lt;br /&gt;
-或者  &lt;br /&gt;
-发送邮件到Apache Kylin邮件列表: &lt;a 
href=&quot;&amp;#109;&amp;#097;&amp;#105;&amp;#108;&amp;#116;&amp;#111;:&amp;#100;&amp;#101;&amp;#118;&amp;#064;&amp;#107;&amp;#121;&amp;#108;&amp;#105;&amp;#110;&amp;#046;&amp;#097;&amp;#112;&amp;#097;&amp;#099;&amp;#104;&amp;#101;&amp;#046;&amp;#111;&amp;#114;&amp;#103;&quot;&gt;&amp;#100;&amp;#101;&amp;#118;&amp;#064;&amp;#107;&amp;#121;&amp;#108;&amp;#105;&amp;#110;&amp;#046;&amp;#097;&amp;#112;&amp;#097;&amp;#099;&amp;#104;&amp;#101;&amp;#046;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;&lt;/p&gt;
-
-&lt;p&gt;&lt;em&gt;感谢各位的贡献!&lt;/em&gt;&lt;/p&gt;
-</description>
-        <pubDate>Sun, 25 Oct 2015 10:28:00 -0700</pubDate>
-        
<link>http://kylin.apache.org/cn/blog/2015/10/25/release-v1.1-incubating/</link>
-        <guid 
isPermaLink="true">http://kylin.apache.org/cn/blog/2015/10/25/release-v1.1-incubating/</guid>
-        
-        
-        <category>blog</category>
-        
-      </item>
-    
-      <item>
         <title>Apache Kylin v1.1 (incubating) Release Announcement</title>
         <description>&lt;p&gt;The Apache Kylin community is pleased to 
announce the release of Apache Kylin v1.1 (incubating).&lt;/p&gt;
 
@@ -479,7 +417,7 @@ send mail to Apache Kylin dev mailing li
 
 &lt;p&gt;&lt;em&gt;Great thanks to everyone who 
contributed!&lt;/em&gt;&lt;/p&gt;
 </description>
-        <pubDate>Sun, 25 Oct 2015 10:28:00 -0700</pubDate>
+        <pubDate>Sun, 25 Oct 2015 17:28:00 +0000</pubDate>
         
<link>http://kylin.apache.org/blog/2015/10/25/release-v1.1-incubating/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2015/10/25/release-v1.1-incubating/</guid>
         
@@ -489,6 +427,66 @@ send mail to Apache Kylin dev mailing li
       </item>
     
       <item>
+        <title>Apache Kylin v1.1 (incubating) 正式发布</title>
+        <description>&lt;p&gt;Apache Kylin社区非常高兴宣布Apache Kylin 
v1.1 (incubating)正式发布.&lt;/p&gt;
+
+&lt;p&gt;Apache 
Kylin一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持è¶
…大规模数据,最初由eBay Inc. 
开发并贡献至开源社区。&lt;/p&gt;
+
+&lt;p&gt;下载Apache Kylin v1.1 (incubating) 源代码及二进制安装包
, &lt;br /&gt;
+请访问&lt;a 
href=&quot;http://kylin.apache.org/cn/download/&quot;&gt;下载&lt;/a&gt;页面.&lt;/p&gt;
+
+&lt;p&gt;这是一个主要的版本发布带来了更稳定,健壮及更好管理的版本,Apache
 Kylin社区解决了56个issue,包
括Bug修复,功能增强及一些新特性等。&lt;/p&gt;
+
+&lt;h2 id=&quot;section&quot;&gt;主要变化&lt;/h2&gt;
+
+&lt;p&gt;&lt;strong&gt;Kylin 核心功能增强&lt;/strong&gt;&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;支持Cube数据保留时间设置 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-906&quot;&gt;KYLIN-906&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;升级Apache Calcite至1.4 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1047&quot;&gt;KYLIN-1047&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;在Cube构建成功后清理Hive中间文件 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-589&quot;&gt;KYLIN-589&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;当Hive返回空值时继续Cube构建任务 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-772&quot;&gt;KYLIN-772&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;支持可配置HBase压缩算法,包括Snappy及GZip &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-956&quot;&gt;KYLIN-956&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;支持将Cube数据导入到独立的HBase集群 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-957&quot;&gt;KYLIN-957&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;将Roaring bitmaps引入InvertedIndex模块 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1034&quot;&gt;KYLIN-1034&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;&lt;strong&gt;主要Bug修复&lt;/strong&gt;&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;当有多个IN条件时SQL执行缓慢 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-740&quot;&gt;KYLIN-740&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;Jobs页面加载Bug &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-950&quot;&gt;KYLIN-950&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;查询缓存没有随元数据更新而刷新 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-771&quot;&gt;KYLIN-771&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;在事实表上执行“select * from fact”不工作 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-847&quot;&gt;KYLIN-847&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;SQL执行时报Float 不能转换成为Double异常 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-918&quot;&gt;KYLIN-918&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;更新Cube数据模型失败后元数据状态不一致 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-958&quot;&gt;KYLIN-958&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;SQL中关键字”offset”的Bug &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-983&quot;&gt;KYLIN-983&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;平均值函数AVG不工作 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-985&quot;&gt;KYLIN-985&lt;/a&gt;&lt;/li&gt;
+  &lt;li&gt;字典中空值’‘导致Cube合并失败 &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN-1004&quot;&gt;KYLIN-1004&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;&lt;strong&gt;升级&lt;/strong&gt;  &lt;br /&gt;
+我们建议从v0.7.x及v1.0升级到此版本已获得更好的性能,稳定性及Bug修复等。&lt;br
 /&gt;
+并且与社区最新特性及支持保持同步。&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;支持&lt;/strong&gt;  &lt;br /&gt;
+升级和使用过程中有任何问题,请: &lt;br /&gt;
+提交至Kylin的JIRA: &lt;a 
href=&quot;https://issues.apache.org/jira/browse/KYLIN/&quot;&gt;https://issues.apache.org/jira/browse/KYLIN/&lt;/a&gt;
  &lt;br /&gt;
+或者  &lt;br /&gt;
+发送邮件到Apache Kylin邮件列表: &lt;a 
href=&quot;&amp;#109;&amp;#097;&amp;#105;&amp;#108;&amp;#116;&amp;#111;:&amp;#100;&amp;#101;&amp;#118;&amp;#064;&amp;#107;&amp;#121;&amp;#108;&amp;#105;&amp;#110;&amp;#046;&amp;#097;&amp;#112;&amp;#097;&amp;#099;&amp;#104;&amp;#101;&amp;#046;&amp;#111;&amp;#114;&amp;#103;&quot;&gt;&amp;#100;&amp;#101;&amp;#118;&amp;#064;&amp;#107;&amp;#121;&amp;#108;&amp;#105;&amp;#110;&amp;#046;&amp;#097;&amp;#112;&amp;#097;&amp;#099;&amp;#104;&amp;#101;&amp;#046;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;&lt;em&gt;感谢各位的贡献!&lt;/em&gt;&lt;/p&gt;
+</description>
+        <pubDate>Sun, 25 Oct 2015 17:28:00 +0000</pubDate>
+        
<link>http://kylin.apache.org/cn/blog/2015/10/25/release-v1.1-incubating/</link>
+        <guid 
isPermaLink="true">http://kylin.apache.org/cn/blog/2015/10/25/release-v1.1-incubating/</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
+      <item>
         <title>Apache Kylin Meetup @Shanghai Oct 10, 2015</title>
         <description>&lt;p class=&quot;center&quot;&gt;&lt;img 
src=&quot;/images/blog/meetup_1.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
 
@@ -535,7 +533,7 @@ send mail to Apache Kylin dev mailing li
 
 &lt;p class=&quot;center&quot;&gt;&lt;img 
src=&quot;/images/blog/meetup_9.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
 </description>
-        <pubDate>Wed, 14 Oct 2015 10:00:00 -0700</pubDate>
+        <pubDate>Wed, 14 Oct 2015 17:00:00 +0000</pubDate>
         
<link>http://kylin.apache.org/blog/2015/10/14/Apache-Kylin-Meetup/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2015/10/14/Apache-Kylin-Meetup/</guid>
         
@@ -676,7 +674,7 @@ No; the purpose of hybrid is to consolid
 &lt;p&gt;&lt;strong&gt;Question 7&lt;/strong&gt;: If a child cube is disabled, 
will it be scanned via the hybrid?&lt;br /&gt;
 No; hybrid instance will check the child realization’s status before sending 
query to it; so if the cube is disabled, it will not be scanned.&lt;/p&gt;
 </description>
-        <pubDate>Fri, 25 Sep 2015 09:00:00 -0700</pubDate>
+        <pubDate>Fri, 25 Sep 2015 16:00:00 +0000</pubDate>
         <link>http://kylin.apache.org/blog/2015/09/25/hybrid-model/</link>
         <guid 
isPermaLink="true">http://kylin.apache.org/blog/2015/09/25/hybrid-model/</guid>
         


Reply via email to