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://<your_ldap_host>:<port>
ldap.username=<your_user_name>
-ldap.password=<your_password_hash>
+ldap.password=<your_password_encrypted>
</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 & Setup</h2>
<p>Please follow installation & 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><p>Full title of this article: <strong>New
Aggregation Group Design to Tackle Curse of Dimension Problem (Especially when
high cardinality dimensions exist)</strong></p>
+ <description><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>
@@ -37,7 +37,7 @@
<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>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>
@@ -95,8 +95,6 @@
</tbody>
</table>
-<hr />
-
<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>
@@ -116,11 +114,10 @@ Select rules are the rules that all vali
<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.</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>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.</p>
-
<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>
@@ -128,22 +125,23 @@ Select rules are the rules that all vali
<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><code class="highlighter-rouge">AGG1</code>
includes: [cal_dt, city, buyer_id]
select_rules:{joint:[cal_dt,city,buyer_id]}</li>
- <li><code class="highlighter-rouge">AGG2</code>
includes: [cal_dt,city] select rules:{}</li>
+ <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. Cube rebuild is not required if youâre upgrading from Kylin
2.0.</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>
</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
<p>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.</p>
</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
<p>Enjoy!</p>
</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
<p>Enjoy!</p>
</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
<p><em>Great thanks to everyone who
contributed!</em></p>
</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
<p><em>æè°¢æ¯ä¸ä½æåçåä¸åè´¡ç®!</em></p>
</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><p>Apache Kylin社åºé常é«å
´å®£å¸Apache Kylin
v1.1 (incubating)æ£å¼åå¸.</p>
-
-<p>Apache
Kylinä¸ä¸ªå¼æºçåå¸å¼åæå¼æï¼æä¾Hadoopä¹ä¸çSQLæ¥è¯¢æ¥å£åå¤ç»´åæï¼OLAPï¼è½åä»¥æ¯æè¶
å¤§è§æ¨¡æ°æ®ï¼æåç±eBay Inc.
å¼åå¹¶è´¡ç®è³å¼æºç¤¾åºã</p>
-
-<p>ä¸è½½Apache Kylin v1.1 (incubating) æºä»£ç åäºè¿å¶å®è£
å
ï¼ <br />
-请访é®<a
href="http://kylin.apache.org/cn/download/">ä¸è½½</a>页é¢.</p>
-
-<p>è¿æ¯ä¸ä¸ªä¸»è¦ççæ¬åå¸å¸¦æ¥äºæ´ç¨³å®ï¼å¥å£®åæ´å¥½ç®¡çççæ¬ï¼Apache
Kylin社åºè§£å³äº56个issueï¼å
æ¬Bugä¿®å¤ï¼åè½å¢å¼ºåä¸äºæ°ç¹æ§çã</p>
-
-<h2 id="section">主è¦åå</h2>
-
-<p><strong>Kylin æ ¸å¿åè½å¢å¼º</strong></p>
-
-<ul>
- <li>æ¯æCubeæ°æ®ä¿çæ¶é´è®¾ç½® <a
href="https://issues.apache.org/jira/browse/KYLIN-906">KYLIN-906</a></li>
- <li>å级Apache Calciteè³1.4 <a
href="https://issues.apache.org/jira/browse/KYLIN-1047">KYLIN-1047</a></li>
- <li>å¨Cubeæå»ºæå忏
çHiveä¸é´æä»¶ <a
href="https://issues.apache.org/jira/browse/KYLIN-589">KYLIN-589</a></li>
- <li>å½Hiveè¿åç©ºå¼æ¶ç»§ç»Cubeæå»ºä»»å¡ <a
href="https://issues.apache.org/jira/browse/KYLIN-772">KYLIN-772</a></li>
- <li>æ¯æå¯é
ç½®HBaseåç¼©ç®æ³ï¼å
æ¬SnappyåGZip <a
href="https://issues.apache.org/jira/browse/KYLIN-956">KYLIN-956</a></li>
- <li>æ¯æå°Cubeæ°æ®å¯¼å
¥å°ç¬ç«çHBaseé群 <a
href="https://issues.apache.org/jira/browse/KYLIN-957">KYLIN-957</a></li>
- <li>å°Roaring bitmapså¼å
¥InvertedIndex模å <a
href="https://issues.apache.org/jira/browse/KYLIN-1034">KYLIN-1034</a></li>
-</ul>
-
-<p><strong>主è¦Bugä¿®å¤</strong></p>
-
-<ul>
- <li>彿å¤ä¸ªINæ¡ä»¶æ¶SQLæ§è¡ç¼æ
¢ <a
href="https://issues.apache.org/jira/browse/KYLIN-740">KYLIN-740</a></li>
- <li>Jobs页é¢å è½½Bug <a
href="https://issues.apache.org/jira/browse/KYLIN-950">KYLIN-950</a></li>
- <li>æ¥è¯¢ç¼å没æéå
æ°æ®æ´æ°èå·æ° <a
href="https://issues.apache.org/jira/browse/KYLIN-771">KYLIN-771</a></li>
- <li>å¨äºå®è¡¨ä¸æ§è¡âselect * from factâä¸å·¥ä½ <a
href="https://issues.apache.org/jira/browse/KYLIN-847">KYLIN-847</a></li>
- <li>SQLæ§è¡æ¶æ¥Float ä¸è½è½¬æ¢æä¸ºDoubleå¼å¸¸ <a
href="https://issues.apache.org/jira/browse/KYLIN-918">KYLIN-918</a></li>
- <li>æ´æ°Cubeæ°æ®æ¨¡å失败åå
æ°æ®ç¶æä¸ä¸è´ <a
href="https://issues.apache.org/jira/browse/KYLIN-958">KYLIN-958</a></li>
- <li>SQLä¸å
³é®åâoffsetâçBug <a
href="https://issues.apache.org/jira/browse/KYLIN-983">KYLIN-983</a></li>
- <li>å¹³åå¼å½æ°AVGä¸å·¥ä½ <a
href="https://issues.apache.org/jira/browse/KYLIN-985">KYLIN-985</a></li>
- <li>åå
¸ä¸ç©ºå¼ââ导è´Cubeå并失败 <a
href="https://issues.apache.org/jira/browse/KYLIN-1004">KYLIN-1004</a></li>
-</ul>
-
-<p><strong>å级</strong> <br />
-æä»¬å»ºè®®ä»v0.7.xåv1.0åçº§å°æ¤çæ¬å·²è·å¾æ´å¥½çæ§è½ï¼ç¨³å®æ§åBugä¿®å¤çã<br
/>
-å¹¶ä¸ä¸ç¤¾åºææ°ç¹æ§åæ¯æä¿æåæ¥ã</p>
-
-<p><strong>æ¯æ</strong> <br />
-å级å使ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼è¯·ï¼ <br />
-æäº¤è³KylinçJIRA: <a
href="https://issues.apache.org/jira/browse/KYLIN/">https://issues.apache.org/jira/browse/KYLIN/</a>
<br />
-æè
<br />
-åéé®ä»¶å°Apache Kyliné®ä»¶å表: <a
href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a></p>
-
-<p><em>æè°¢åä½çè´¡ç®!</em></p>
-</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><p>The Apache Kylin community is pleased to
announce the release of Apache Kylin v1.1 (incubating).</p>
@@ -479,7 +417,7 @@ send mail to Apache Kylin dev mailing li
<p><em>Great thanks to everyone who
contributed!</em></p>
</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><p>Apache Kylin社åºé常é«å
´å®£å¸Apache Kylin
v1.1 (incubating)æ£å¼åå¸.</p>
+
+<p>Apache
Kylinä¸ä¸ªå¼æºçåå¸å¼åæå¼æï¼æä¾Hadoopä¹ä¸çSQLæ¥è¯¢æ¥å£åå¤ç»´åæï¼OLAPï¼è½åä»¥æ¯æè¶
å¤§è§æ¨¡æ°æ®ï¼æåç±eBay Inc.
å¼åå¹¶è´¡ç®è³å¼æºç¤¾åºã</p>
+
+<p>ä¸è½½Apache Kylin v1.1 (incubating) æºä»£ç åäºè¿å¶å®è£
å
ï¼ <br />
+请访é®<a
href="http://kylin.apache.org/cn/download/">ä¸è½½</a>页é¢.</p>
+
+<p>è¿æ¯ä¸ä¸ªä¸»è¦ççæ¬åå¸å¸¦æ¥äºæ´ç¨³å®ï¼å¥å£®åæ´å¥½ç®¡çççæ¬ï¼Apache
Kylin社åºè§£å³äº56个issueï¼å
æ¬Bugä¿®å¤ï¼åè½å¢å¼ºåä¸äºæ°ç¹æ§çã</p>
+
+<h2 id="section">主è¦åå</h2>
+
+<p><strong>Kylin æ ¸å¿åè½å¢å¼º</strong></p>
+
+<ul>
+ <li>æ¯æCubeæ°æ®ä¿çæ¶é´è®¾ç½® <a
href="https://issues.apache.org/jira/browse/KYLIN-906">KYLIN-906</a></li>
+ <li>å级Apache Calciteè³1.4 <a
href="https://issues.apache.org/jira/browse/KYLIN-1047">KYLIN-1047</a></li>
+ <li>å¨Cubeæå»ºæå忏
çHiveä¸é´æä»¶ <a
href="https://issues.apache.org/jira/browse/KYLIN-589">KYLIN-589</a></li>
+ <li>å½Hiveè¿åç©ºå¼æ¶ç»§ç»Cubeæå»ºä»»å¡ <a
href="https://issues.apache.org/jira/browse/KYLIN-772">KYLIN-772</a></li>
+ <li>æ¯æå¯é
ç½®HBaseåç¼©ç®æ³ï¼å
æ¬SnappyåGZip <a
href="https://issues.apache.org/jira/browse/KYLIN-956">KYLIN-956</a></li>
+ <li>æ¯æå°Cubeæ°æ®å¯¼å
¥å°ç¬ç«çHBaseé群 <a
href="https://issues.apache.org/jira/browse/KYLIN-957">KYLIN-957</a></li>
+ <li>å°Roaring bitmapså¼å
¥InvertedIndex模å <a
href="https://issues.apache.org/jira/browse/KYLIN-1034">KYLIN-1034</a></li>
+</ul>
+
+<p><strong>主è¦Bugä¿®å¤</strong></p>
+
+<ul>
+ <li>彿å¤ä¸ªINæ¡ä»¶æ¶SQLæ§è¡ç¼æ
¢ <a
href="https://issues.apache.org/jira/browse/KYLIN-740">KYLIN-740</a></li>
+ <li>Jobs页é¢å è½½Bug <a
href="https://issues.apache.org/jira/browse/KYLIN-950">KYLIN-950</a></li>
+ <li>æ¥è¯¢ç¼å没æéå
æ°æ®æ´æ°èå·æ° <a
href="https://issues.apache.org/jira/browse/KYLIN-771">KYLIN-771</a></li>
+ <li>å¨äºå®è¡¨ä¸æ§è¡âselect * from factâä¸å·¥ä½ <a
href="https://issues.apache.org/jira/browse/KYLIN-847">KYLIN-847</a></li>
+ <li>SQLæ§è¡æ¶æ¥Float ä¸è½è½¬æ¢æä¸ºDoubleå¼å¸¸ <a
href="https://issues.apache.org/jira/browse/KYLIN-918">KYLIN-918</a></li>
+ <li>æ´æ°Cubeæ°æ®æ¨¡å失败åå
æ°æ®ç¶æä¸ä¸è´ <a
href="https://issues.apache.org/jira/browse/KYLIN-958">KYLIN-958</a></li>
+ <li>SQLä¸å
³é®åâoffsetâçBug <a
href="https://issues.apache.org/jira/browse/KYLIN-983">KYLIN-983</a></li>
+ <li>å¹³åå¼å½æ°AVGä¸å·¥ä½ <a
href="https://issues.apache.org/jira/browse/KYLIN-985">KYLIN-985</a></li>
+ <li>åå
¸ä¸ç©ºå¼ââ导è´Cubeå并失败 <a
href="https://issues.apache.org/jira/browse/KYLIN-1004">KYLIN-1004</a></li>
+</ul>
+
+<p><strong>å级</strong> <br />
+æä»¬å»ºè®®ä»v0.7.xåv1.0åçº§å°æ¤çæ¬å·²è·å¾æ´å¥½çæ§è½ï¼ç¨³å®æ§åBugä¿®å¤çã<br
/>
+å¹¶ä¸ä¸ç¤¾åºææ°ç¹æ§åæ¯æä¿æåæ¥ã</p>
+
+<p><strong>æ¯æ</strong> <br />
+å级å使ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼è¯·ï¼ <br />
+æäº¤è³KylinçJIRA: <a
href="https://issues.apache.org/jira/browse/KYLIN/">https://issues.apache.org/jira/browse/KYLIN/</a>
<br />
+æè
<br />
+åéé®ä»¶å°Apache Kyliné®ä»¶å表: <a
href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#064;&#107;&#121;&#108;&#105;&#110;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a></p>
+
+<p><em>æè°¢åä½çè´¡ç®!</em></p>
+</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><p class="center"><img
src="/images/blog/meetup_1.jpeg" alt="" /></p>
@@ -535,7 +533,7 @@ send mail to Apache Kylin dev mailing li
<p class="center"><img
src="/images/blog/meetup_9.jpeg" alt="" /></p>
</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
<p><strong>Question 7</strong>: If a child cube is disabled,
will it be scanned via the hybrid?<br />
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.</p>
</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>