You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/07/02 06:08:51 UTC

svn commit: r1834820 [14/48] - in /kylin/site: ./ about/ blog/ blog/2015/01/25/introduce-data-model/ blog/2015/06/10/release-v0.7.1-incubating/ blog/2015/08/13/kylin-dictionary/ blog/2015/08/15/fast-cubing/ blog/2015/09/06/release-v1.0-incubating/ blog...

Modified: kylin/site/cn/docs23/tutorial/create_cube.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/docs23/tutorial/create_cube.html?rev=1834820&r1=1834819&r2=1834820&view=diff
==============================================================================
--- kylin/site/cn/docs23/tutorial/create_cube.html (original)
+++ kylin/site/cn/docs23/tutorial/create_cube.html Mon Jul  2 06:08:48 2018
@@ -160,7 +160,294 @@ var _hmt = _hmt || [];
 
 		
 		<div class="container">
-			<div class="row">
+			<div class="row" style="clear:both;">
+				<div class="col-md-8 col-lg-8 col-xs-12 col-sm-12 aside2" style="float:right;">
+					<div id="container" class="docs">
+						<div id="pjax">
+							<h1 class="post-title">Cube 创建</h1>
+							<article class="post-content" >
+							<h3 id="i-">I. 新建项目</h3>
+<ol>
+  <li>
+    <p>由顶部菜单栏进入 <code class="highlighter-rouge">Model</code> 页面,然后点击 <code class="highlighter-rouge">Manage Projects</code>。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/1 manage-prject.png" alt="" /></p>
+  </li>
+  <li>
+    <p>点击 <code class="highlighter-rouge">+ Project</code> 按钮添加一个新的项目。</p>
+
+    <p><img src="/images/Kylin-Cube-Creation-Tutorial/2 %2Bproject.png" alt="" /></p>
+  </li>
+  <li>
+    <p>填写下列表单并点击 <code class="highlighter-rouge">submit</code> 按钮提交请求。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/3 new-project.png" alt="" /></p>
+  </li>
+  <li>
+    <p>成功后,底部会显示通知。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png" alt="" /></p>
+  </li>
+</ol>
+
+<h3 id="ii-hive">II. 同步Hive表</h3>
+<ol>
+  <li>
+    <p>在顶部菜单栏点击 <code class="highlighter-rouge">Model</code>,然后点击左边的 <code class="highlighter-rouge">Data Source</code> 标签,它会列出所有加载进 Kylin 的表,点击 <code class="highlighter-rouge">Load Table</code> 按钮。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/4 +table.png" alt="" /></p>
+  </li>
+  <li>
+    <p>输入表名并点击 <code class="highlighter-rouge">Sync</code> 按钮提交请求。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table.png" alt="" /></p>
+  </li>
+  <li>
+    <p>【可选】如果你想要浏览 hive 数据库来选择表,点击 <code class="highlighter-rouge">Load Table From Tree</code> 按钮。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/4 +table-tree.png" alt="" /></p>
+  </li>
+  <li>
+    <p>【可选】展开数据库节点,点击选择要加载的表,然后点击 <code class="highlighter-rouge">Sync</code> 按钮。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-tree.png" alt="" /></p>
+  </li>
+  <li>
+    <p>成功的消息将会弹出,在左边的 <code class="highlighter-rouge">Tables</code> 部分,新加载的表已经被添加进来。点击表将会展开列。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-info.png" alt="" /></p>
+  </li>
+  <li>
+    <p>在后台,Kylin 将会执行 MapReduce 任务计算新同步表的基数(cardinality),任务完成后,刷新页面并点击表名,基数值将会显示在表信息中。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-cardinality.png" alt="" /></p>
+  </li>
+</ol>
+
+<h3 id="iii--data-model">III. 新建 Data Model</h3>
+<p>创建 cube 前,需定义一个数据模型。数据模型定义了一个星型(star schema)或雪花(snowflake schema)模型。一个模型可以被多个 cube 使用。</p>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 +model.png" alt="" /></p>
+
+<ol>
+  <li>
+    <p>点击顶部的 <code class="highlighter-rouge">Model</code> ,然后点击 <code class="highlighter-rouge">Models</code> 标签。点击 <code class="highlighter-rouge">+New</code> 按钮,在下拉框中选择 <code class="highlighter-rouge">New Model</code>。</p>
+  </li>
+  <li>
+    <p>输入 model 的名字和可选的描述。</p>
+  </li>
+</ol>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-name.png" alt="" /></p>
+
+<ol>
+  <li>
+    <p>在 <code class="highlighter-rouge">Fact Table</code> 中,为模型选择事实表。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-fact-table.png" alt="" /></p>
+  </li>
+  <li>
+    <p>【可选】点击 <code class="highlighter-rouge">Add Lookup Table</code> 按钮添加一个 lookup 表。选择表名和关联类型(内连接或左连接)</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-lookup-table.png" alt="" /></p>
+  </li>
+  <li>
+    <p>点击 <code class="highlighter-rouge">New Join Condition</code> 按钮,左边选择事实表的外键,右边选择 lookup 表的主键。如果有多于一个 join 列重复执行。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-join-condition.png" alt="" /></p>
+  </li>
+  <li>
+    <p>点击 “OK”,重复4,5步来添加更多的 lookup 表。完成后,点击 “Next”。</p>
+  </li>
+  <li>
+    <p><code class="highlighter-rouge">Dimensions</code> 页面允许选择在子 cube 中用作维度的列,然后点击 <code class="highlighter-rouge">Columns</code> 列,在下拉框中选择需要的列。<br />
+ <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-dimensions.png" alt="" /></p>
+  </li>
+  <li>
+    <p>点击 “Next” 到达 “Measures” 页面,选择作为 measure 的列,其只能从事实表中选择。</p>
+  </li>
+</ol>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-measures.png" alt="" /></p>
+
+<ol>
+  <li>
+    <p>点击 “Next” 到达 “Settings” 页面,如果事实表中的数据每日增长,选择 <code class="highlighter-rouge">Partition Date Column</code> 中相应的 日期列以及日期格式,否则就将其留白。</p>
+  </li>
+  <li>
+    <p>【可选】选择是否需要 “time of the day” 列,默认情况下为 <code class="highlighter-rouge">No</code>。如果选择 <code class="highlighter-rouge">Yes</code>, 选择 <code class="highlighter-rouge">Partition Time Column</code> 中相应的 time 列以及 time 格式</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-partition-column.png" alt="" /></p>
+  </li>
+  <li>
+    <p>【可选】如果在从 hive 抽取数据时候想做一些筛选,可以在 <code class="highlighter-rouge">Filter</code> 中输入筛选条件。</p>
+  </li>
+  <li>
+    <p>点击 <code class="highlighter-rouge">Save</code> 然后选择 <code class="highlighter-rouge">Yes</code> 来保存 data model。创建完成,data model 就会列在左边 <code class="highlighter-rouge">Models</code> 列表中。<br />
+   <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-created.png" alt="" /></p>
+  </li>
+</ol>
+
+<h3 id="iv--cube">IV. 新建 Cube</h3>
+
+<p>创建完 data model,可以开始创建 cube。<br />
+点击顶部 <code class="highlighter-rouge">Model</code>,然后点击 <code class="highlighter-rouge">Models</code> 标签。点击 <code class="highlighter-rouge">+New</code> 按钮,在下拉框中选择 <code class="highlighter-rouge">New Cube</code>。<br />
+    <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 new-cube.png" alt="" /></p>
+
+<p><strong>步骤1. Cube 信息</strong></p>
+
+<ol>
+  <li>选择 data model,输入 cube 名字;点击 <code class="highlighter-rouge">Next</code> 进行下一步。</li>
+</ol>
+
+<p>cube 名字可以使用字母,数字和下划线(空格不允许)。<code class="highlighter-rouge">Notification Email List</code> 是运用来通知job执行成功或失败情况的邮箱列表。<code class="highlighter-rouge">Notification Events</code> 是触发事件的状态。</p>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 cube-info.png" alt="" /></p>
+
+<p><strong>步骤2. 维度</strong></p>
+
+<ol>
+  <li>
+    <p>点击 <code class="highlighter-rouge">Add Dimension</code>,在弹窗中显示的事实表和 lookup 表里勾选输入需要的列。Lookup 表的列有2个选项:“Normal” 和 “Derived”(默认)。“Normal” 添加一个普通独立的维度列,“Derived” 添加一个 derived 维度,derived 维度不会计算入 cube,将由事实表的外键推算出。阅读更多【如何优化 cube】(/docs15/howto/howto_optimize_cubes.html)。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 cube-dimension-batch.png" alt="" /></p>
+  </li>
+  <li>
+    <p>选择所有维度后点击 “Next”。</p>
+  </li>
+</ol>
+
+<p><strong>步骤3. 度量</strong></p>
+
+<ol>
+  <li>
+    <p>点击 <code class="highlighter-rouge">+Measure</code> 按钮添加一个新的度量。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 meas-+meas.png" alt="" /></p>
+  </li>
+  <li>
+    <p>根据它的表达式共有8种不同类型的度量:<code class="highlighter-rouge">SUM</code>、<code class="highlighter-rouge">MAX</code>、<code class="highlighter-rouge">MIN</code>、<code class="highlighter-rouge">COUNT</code>、<code class="highlighter-rouge">COUNT_DISTINCT</code> <code class="highlighter-rouge">TOP_N</code>, <code class="highlighter-rouge">EXTENDED_COLUMN</code> 和 <code class="highlighter-rouge">PERCENTILE</code>。请合理选择 <code class="highlighter-rouge">COUNT_DISTINCT</code> 和 <code class="highlighter-rouge">TOP_N</code> 返回类型,它与 cube 的大小相关。</p>
+    <ul>
+      <li>
+        <p>SUM</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-sum.png" alt="" /></p>
+      </li>
+      <li>
+        <p>MIN</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-min.png" alt="" /></p>
+      </li>
+      <li>
+        <p>MAX</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-max.png" alt="" /></p>
+      </li>
+      <li>
+        <p>COUNT</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-count.png" alt="" /></p>
+      </li>
+      <li>
+        <p>DISTINCT_COUNT<br />
+这个度量有两个实现:<br />
+1)近似实现 HyperLogLog,选择可接受的错误率,低错误率需要更多存储;<br />
+2)精确实现 bitmap(具体限制请看 https://issues.apache.org/jira/browse/KYLIN-1186)</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-distinct.png" alt="" /></p>
+      </li>
+    </ul>
+
+    <p>注意:distinct 是一种非常重的数据类型,和其他度量相比构建和查询会更慢。</p>
+
+    <ul>
+      <li>TOP_N<br />
+TopN 度量在每个维度结合时预计算,它比未预计算的在查询时间上性能更好;需要两个参数:一是被用来作为 Top 记录的度量列,Kylin 将计算它的 SUM 值并做倒序排列;二是 literal ID,代表最 Top 的记录,例如 seller_id;</li>
+    </ul>
+
+    <p>合理的选择返回类型,将决定多少 top 记录被监察:top 10, top 100, top 500, top 1000, top 5000 or top 10000。</p>
+
+    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-topn.png" alt="" /></p>
+
+    <ul>
+      <li>
+        <p>EXTENDED_COLUMN<br />
+Extended_Column 作为度量比作为维度更节省空间。一列和零一列可以生成新的列。</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-extended_column.PNG" alt="" /></p>
+      </li>
+      <li>
+        <p>PERCENTILE<br />
+Percentile 代表了百分比。值越大,错误就越少。100为最合适的值。</p>
+
+        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-percentile.PNG" alt="" /></p>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<p><strong>步骤4. 更新设置</strong></p>
+
+<p>这一步骤是为增量构建 cube 而设计的。</p>
+
+<p><code class="highlighter-rouge">Auto Merge Thresholds</code>: 自动合并小的 segments 到中等甚至更大的 segment。如果不想自动合并,删除默认2个选项。</p>
+
+<p><code class="highlighter-rouge">Volatile Range</code>: 默认为0,会自动合并所有可能的 cube segments,或者用 ‘Auto Merge’ 将不会合并最新的 [Volatile Range] 天的 cube segments。</p>
+
+<p><code class="highlighter-rouge">Retention Threshold</code>: 只会保存 cube 过去几天的 segment,旧的 segment 将会自动从头部删除;0表示不启用这个功能。</p>
+
+<p><code class="highlighter-rouge">Partition Start Date</code>: cube 的开始日期.</p>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/9 refresh-setting1.png" alt="" /></p>
+
+<p><strong>步骤5. 高级设置</strong></p>
+
+<p><code class="highlighter-rouge">Aggregation Groups</code>: Cube 中的维度可以划分到多个聚合组中。默认 kylin 会把所有维度放在一个聚合组,当维度较多时,产生的组合数可能是巨大的,会造成 Cube 爆炸;如果你很好的了解你的查询模式,那么你可以创建多个聚合组。在每个聚合组内,使用 “Mandatory Dimensions”, “Hierarchy Dimensions” 和 “Joint Dimensions” 来进一步优化维度组合。</p>
+
+<p><code class="highlighter-rouge">Mandatory Dimensions</code>: 必要维度,用于总是出现的维度。例如,如果你的查询中总是会带有 “ORDER_DATE” 做为 group by 或 过滤条件, 那么它可以被声明为必要维度。这样一来,所有不含此维度的 cuboid 就可以被跳过计算。</p>
+
+<p><code class="highlighter-rouge">Hierarchy Dimensions</code>: 层级维度,例如 “国家” -&gt; “省” -&gt; “市” 是一个层级;不符合此层级关系的 cuboid 可以被跳过计算,例如 [“省”], [“市”]. 定义层级维度时,将父级别维度放在子维度的左边。</p>
+
+<p><code class="highlighter-rouge">Joint Dimensions</code>:联合维度,有些维度往往一起出现,或者它们的基数非常接近(有1:1映射关系)。例如 “user_id” 和 “email”。把多个维度定义为组合关系后,所有不符合此关系的 cuboids 会被跳过计算。</p>
+
+<p>关于更多维度优化,请阅读这个博客: <a href="/blog/2016/02/18/new-aggregation-group/">新的聚合组</a></p>
+
+<p><code class="highlighter-rouge">Rowkeys</code>: 是由维度编码值组成。”Dictionary” (字典)是默认的编码方式; 字典只能处理中低基数(少于一千万)的维度;如果维度基数很高(如大于1千万), 选择 “false” 然后为维度输入合适的长度,通常是那列的最大长度值; 如果超过最大值,会被截断。请注意,如果没有字典编码,cube 的大小可能会非常大。</p>
+
+<p>你可以拖拽维度列去调整其在 rowkey 中位置; 位于rowkey前面的列,将可以用来大幅缩小查询的范围。通常建议将 mandantory 维度放在开头, 然后是在过滤 ( where 条件)中起到很大作用的维度;如果多个列都会被用于过滤,将高基数的维度(如 user_id)放在低基数的维度(如 age)的前面。</p>
+
+<p><code class="highlighter-rouge">Mandatory Cuboids</code>: 维度组合白名单。确保你想要构建的 cuboid 能被构建。</p>
+
+<p><code class="highlighter-rouge">Cube Engine</code>: cube 构建引擎。有两种:MapReduce 和 Spark。如果你的 cube 只有简单度量(SUM, MIN, MAX),建议使用 Spark。如果 cube 中有复杂类型度量(COUNT DISTINCT, TOP_N),建议使用 MapReduce。</p>
+
+<p><code class="highlighter-rouge">Advanced Dictionaries</code>: “Global Dictionary” 是用于精确计算 COUNT DISTINCT 的字典, 它会将一个非 integer的值转成 integer,以便于 bitmap 进行去重。如果你要计算 COUNT DISTINCT 的列本身已经是 integer 类型,那么不需要定义 Global Dictionary。 Global Dictionary 会被所有 segment 共享,因此支持在跨 segments 之间做上卷去重操作。请注意,Global Dictionary 随着数据的加载,可能会不断变大。</p>
+
+<p>“Segment Dictionary” 是另一个用于精确计算 COUNT DISTINCT 的字典,与 Global Dictionary 不同的是,它是基于一个 segment 的值构建的,因此不支持跨 segments 的汇总计算。如果你的 cube 不是分区的或者能保证你的所有 SQL 按照 partition_column 进行 group by, 那么你应该使用 “Segment Dictionary” 而不是 “Global Dictionary”,这样可以避免单个字典过大的问题。</p>
+
+<p>请注意:”Global Dictionary” 和 “Segment Dictionary” 都是单向编码的字典,仅用于 COUNT DISTINCT 计算(将非 integer 类型转成 integer 用于 bitmap计算),他们不支持解码,因此不能为普通维度编码。</p>
+
+<p><code class="highlighter-rouge">Advanced Snapshot Table</code>: 为全局 lookup 表而设计,提供不同的存储类型。</p>
+
+<p><code class="highlighter-rouge">Advanced ColumnFamily</code>: 如果有超过一个的COUNT DISTINCT 或 TopN 度量, 你可以将它们放在更多列簇中,以优化与HBase 的I/O。</p>
+
+<p><strong>步骤6. 重写配置</strong></p>
+
+<p>Kylin 允许在 Cube 级别覆盖部分 kylin.properties 中的配置,你可以在这里定义覆盖的属性。如果你没有要配置的,点击 <code class="highlighter-rouge">Next</code> 按钮。</p>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/10 configuration.PNG" alt="" /></p>
+
+<p><strong>步骤7. 概览 &amp; 保存</strong></p>
+
+<p>你可以概览你的 cube 并返回之前的步骤进行修改。点击 <code class="highlighter-rouge">Save</code> 按钮完成 cube 创建。</p>
+
+<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/11 overview.PNG" alt="" /></p>
+
+<p>恭喜,cube 创建好了,你可以去构建和玩它了。</p>
+
+							</article>
+						</div>
+					</div>
+				</div>
 				<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -179,17 +466,2253 @@ var _hmt = _hmt || [];
 * limitations under the License.
 -->
 
-<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs visible-md visible-lg" id="nside1" style="margin-top: 5em;float:right;">
-    <ul class="nav nav-pills nav-stacked">    
+<div class="col-md-4 col-lg-4 col-xs-12 col-sm-12 aside1 visible-sm visible-xs visible-md visible-lg" id="nside1" style="margin-top: 5em;float:right;">
+    <ul class="nav nav-pills nav-stacked">    
+    
+    <li><a href="#title开始" data-toggle="collapse" class="navtitle">开始</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/index.html" class="list-group-item-lay pjaxlink ">概述</a>
+      </li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#title安装" data-toggle="collapse" class="navtitle">安装</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/index.html" class="list-group-item-lay pjaxlink ">安装指南</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/kylin_cluster.html" class="list-group-item-lay pjaxlink ">Cluster 模式下部署</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/configuration.html" class="list-group-item-lay pjaxlink ">Kylin 配置</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/advance_settings.html" class="list-group-item-lay pjaxlink ">高级设置</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/kylin_aws_emr.html" class="list-group-item-lay pjaxlink ">在 AWS EMR 上 安装 Kylin</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/install/kylin_docker.html" class="list-group-item-lay pjaxlink ">用 Docker 运行 Kylin</a>
+      </li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#title教程" data-toggle="collapse" class="navtitle">教程</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/kylin_sample.html" class="list-group-item-lay pjaxlink ">样例 Cube 快速入门</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/web.html" class="list-group-item-lay pjaxlink ">Web 界面</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/create_cube.html" class="list-group-item-lay pjaxlink ">Cube 创建</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/cube_build_job.html" class="list-group-item-lay pjaxlink ">Cube 构建和 Job 监控</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/project_level_acl.html" class="list-group-item-lay pjaxlink ">Project Level ACL</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/cube_spark.html" class="list-group-item-lay pjaxlink ">用 Spark 构建 Cube</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/cube_streaming.html" class="list-group-item-lay pjaxlink ">从 Kafka 流构建 Cube</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/cube_build_performance.html" class="list-group-item-lay pjaxlink ">优化 Cube 构建</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/kylin_client_tool.html" class="list-group-item-lay pjaxlink ">Python 客户端</a>
+      </li>      
+      
+
+
+
+  
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
     
-    <li><a href="#title开始" data-toggle="collapse" class="navtitle">开始</a></li>
-    <div class="collapse in">
-  	<div class="list-group" id="list1">
-    <ul>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/setup_systemcube.html" class="list-group-item-lay pjaxlink ">建立系统 Cube</a>
+      </li>      
+      
+
+
+
+  
+
+  
     
+  
 
 
 
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/use_cube_planner.html" class="list-group-item-lay pjaxlink ">使用 Cube Planner</a>
+      </li>      
+      
+
 
 
   
@@ -252,39 +2775,26 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/index.html" class="list-group-item-lay pjaxlink ">概述</a>
-      </li>      
-      
-
-
-
-
-
-
-
-        <ul>
-  </div>
-</div>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
     
-    <li><a href="#title安装" data-toggle="collapse" class="navtitle">安装</a></li>
-    <div class="collapse in">
-  	<div class="list-group" id="list1">
-    <ul>
+  
     
-
-
-
-
-
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -357,39 +2867,18 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/install/manual_install_guide.html" class="list-group-item-lay pjaxlink ">手动安装指南</a>
-      </li>      
-      
-
-
-
-
-
-
-
-        <ul>
-  </div>
-</div>
+  
     
-    <li><a href="#title教程" data-toggle="collapse" class="navtitle">教程</a></li>
-    <div class="collapse in">
-  	<div class="list-group" id="list1">
-    <ul>
+  
     
-
-
-
-
-
   
-
+    
   
     
   
-
-
-
+    
+  
+    
   
     
   
@@ -414,9 +2903,22 @@ var _hmt = _hmt || [];
     
   
     
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink ">使用 Dashboard</a>
+      </li>      
+      
+
+
+
+  
+
   
     
   
+
+
+
+  
     
   
     
@@ -474,21 +2976,12 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/tutorial/create_cube.html" class="list-group-item-lay pjaxlink ">Cube 创建</a>
-      </li>      
-      
-
-
-
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -578,12 +3071,30 @@ var _hmt = _hmt || [];
   
     
       <li class="navlist">
-        <a href="/cn/docs23/tutorial/cube_build_job.html" class="list-group-item-lay pjaxlink ">Cube 构建和 Job 监控</a>
+        <a href="/cn/docs23/tutorial/setup_jdbc_datasource.html" class="list-group-item-lay pjaxlink ">建立 JDBC 数据源</a>
       </li>      
       
 
 
 
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#title工具集成" data-toggle="collapse" class="navtitle">工具集成</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
+
+
+
+
+
   
 
   
@@ -728,9 +3239,22 @@ var _hmt = _hmt || [];
     
   
     
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/odbc.html" class="list-group-item-lay pjaxlink ">ODBC 驱动</a>
+      </li>      
+      
+
+
+
+  
+
   
     
   
+
+
+
+  
     
   
     
@@ -743,17 +3267,13 @@ var _hmt = _hmt || [];
   
     
   
-
-
-
+    
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -856,9 +3376,22 @@ var _hmt = _hmt || [];
     
   
     
+      <li class="navlist">
+        <a href="/cn/docs23/tutorial/jdbc.html" class="list-group-item-lay pjaxlink ">JDBC 驱动</a>
+      </li>      
+      
+
+
+
+  
+
   
     
   
+
+
+
+  
     
   
     
@@ -902,21 +3435,24 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/tutorial/web.html" class="list-group-item-lay pjaxlink ">Web 界面</a>
-      </li>      
-      
-
-
-
   
-
+    
   
     
   
-
-
-
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
   
     
   
@@ -1024,7 +3560,7 @@ var _hmt = _hmt || [];
   
     
       <li class="navlist">
-        <a href="/cn/docs23/tutorial/kylin_client_tool.html" class="list-group-item-lay pjaxlink ">Python 客户端工具库</a>
+        <a href="/cn/docs23/tutorial/tableau.html" class="list-group-item-lay pjaxlink ">Tableau 8</a>
       </li>      
       
 
@@ -1174,8 +3710,44 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
       <li class="navlist">
-        <a href="/cn/docs23/tutorial/tableau.html" class="list-group-item-lay pjaxlink ">Tableau</a>
+        <a href="/cn/docs23/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink ">Tableau 9</a>
       </li>      
       
 
@@ -1330,7 +3902,7 @@ var _hmt = _hmt || [];
   
     
       <li class="navlist">
-        <a href="/cn/docs23/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink ">Tableau 9</a>
+        <a href="/cn/docs23/tutorial/powerbi.html" class="list-group-item-lay pjaxlink ">Excel 及 Power BI 教程</a>
       </li>      
       
 
@@ -1462,22 +4034,9 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/tutorial/powerbi.html" class="list-group-item-lay pjaxlink ">MS Excel及Power BI教程</a>
-      </li>      
-      
-
-
-
-  
-
   
     
   
-
-
-
-  
     
   
     
@@ -1544,13 +4103,17 @@ var _hmt = _hmt || [];
   
     
   
-    
+
+
+
   
-    
+
   
     
   
-    
+
+
+
   
     
   
@@ -1591,21 +4154,10 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/tutorial/odbc.html" class="list-group-item-lay pjaxlink ">ODBC 驱动程序</a>
-      </li>      
-      
-
-
-
-  
-
   
     
   
-
-
-
+    
   
     
   
@@ -1682,39 +4234,16 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/tutorial/Qlik.html" class="list-group-item-lay pjaxlink ">Qlik Sense 集成</a>
-      </li>      
-      
-
-
-
-
-
-
-
-        <ul>
-  </div>
-</div>
+  
     
-    <li><a href="#title帮助" data-toggle="collapse" class="navtitle">帮助</a></li>
-    <div class="collapse in">
-  	<div class="list-group" id="list1">
-    <ul>
+  
     
-
-
-
-
-
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -1727,21 +4256,12 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/howto/howto_backup_metadata.html" class="list-group-item-lay pjaxlink ">备份元数据</a>
-      </li>      
-      
-
-
-
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -1759,7 +4279,7 @@ var _hmt = _hmt || [];
   
     
       <li class="navlist">
-        <a href="/cn/docs23/howto/howto_build_cube_with_restapi.html" class="list-group-item-lay pjaxlink ">用 API 构建 Cube</a>
+        <a href="/cn/docs23/tutorial/squirrel.html" class="list-group-item-lay pjaxlink ">SQuirreL</a>
       </li>      
       
 
@@ -1793,22 +4313,9 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/howto/howto_cleanup_storage.html" class="list-group-item-lay pjaxlink ">清理存储</a>
-      </li>      
-      
-
-
-
-  
-
   
     
   
-
-
-
-  
     
   
     
@@ -1836,21 +4343,12 @@ var _hmt = _hmt || [];
     
   
     
-      <li class="navlist">
-        <a href="/cn/docs23/howto/howto_jdbc.html" class="list-group-item-lay pjaxlink ">Kylin JDBC Driver</a>
-      </li>      
-      
-
-
-
   
-
+    
   
     
   
-
-
-
+    
   
     
   
@@ -1886,7 +4384,7 @@ var _hmt = _hmt || [];
   
     
       <li class="navlist">
-        <a href="/cn/docs23/howto/howto_optimize_build.html" class="list-group-item-lay pjaxlink ">优化 Cube 构建</a>
+        <a href="/cn/docs23/tutorial/Qlik.html" class="list-group-item-lay pjaxlink ">Qlik Sense 集成</a>
       </li>      
       
 
@@ -1900,296 +4398,287 @@ var _hmt = _hmt || [];
   </div>
 </div>
     
+    <li><a href="#title帮助" data-toggle="collapse" class="navtitle">帮助</a></li>
+    <div class="collapse in">
+  	<div class="list-group" id="list1">
+    <ul>
+    
 
-    </ul>
-</div>
-				<div class="col-md-8 col-lg-8 col-xs-12 col-sm-12 aside2">
-					<div id="container" class="docs">
-						<div id="pjax">
-							<h1 class="post-title">Cube 创建</h1>
-							<article class="post-content" >
-							<h3 id="i-">I. 新建项目</h3>
-<ol>
-  <li>
-    <p>由顶部菜单栏进入 <code class="highlighter-rouge">Model</code> 页面,然后点击 <code class="highlighter-rouge">Manage Projects</code>。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/1 manage-prject.png" alt="" /></p>
-  </li>
-  <li>
-    <p>点击 <code class="highlighter-rouge">+ Project</code> 按钮添加一个新的项目。</p>
-
-    <p><img src="/images/Kylin-Cube-Creation-Tutorial/2 %2Bproject.png" alt="" /></p>
-  </li>
-  <li>
-    <p>填写下列表单并点击 <code class="highlighter-rouge">submit</code> 按钮提交请求。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/3 new-project.png" alt="" /></p>
-  </li>
-  <li>
-    <p>成功后,底部会显示通知。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png" alt="" /></p>
-  </li>
-</ol>
-
-<h3 id="ii-hive">II. 同步Hive表</h3>
-<ol>
-  <li>
-    <p>在顶部菜单栏点击 <code class="highlighter-rouge">Model</code>,然后点击左边的 <code class="highlighter-rouge">Data Source</code> 标签,它会列出所有加载进 Kylin 的表,点击 <code class="highlighter-rouge">Load Table</code> 按钮。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/4 +table.png" alt="" /></p>
-  </li>
-  <li>
-    <p>输入表名并点击 <code class="highlighter-rouge">Sync</code> 按钮提交请求。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table.png" alt="" /></p>
-  </li>
-  <li>
-    <p>【可选】如果你想要浏览 hive 数据库来选择表,点击 <code class="highlighter-rouge">Load Table From Tree</code> 按钮。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/4 +table-tree.png" alt="" /></p>
-  </li>
-  <li>
-    <p>【可选】展开数据库节点,点击选择要加载的表,然后点击 <code class="highlighter-rouge">Sync</code> 按钮。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-tree.png" alt="" /></p>
-  </li>
-  <li>
-    <p>成功的消息将会弹出,在左边的 <code class="highlighter-rouge">Tables</code> 部分,新加载的表已经被添加进来。点击表将会展开列。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-info.png" alt="" /></p>
-  </li>
-  <li>
-    <p>在后台,Kylin 将会执行 MapReduce 任务计算新同步表的基数(cardinality),任务完成后,刷新页面并点击表名,基数值将会显示在表信息中。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/5 hive-table-cardinality.png" alt="" /></p>
-  </li>
-</ol>
-
-<h3 id="iii--data-model">III. 新建 Data Model</h3>
-<p>创建 cube 前,需定义一个数据模型。数据模型定义了一个星型(star schema)或雪花(snowflake schema)模型。一个模型可以被多个 cube 使用。</p>
-
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 +model.png" alt="" /></p>
-
-<ol>
-  <li>
-    <p>点击顶部的 <code class="highlighter-rouge">Model</code> ,然后点击 <code class="highlighter-rouge">Models</code> 标签。点击 <code class="highlighter-rouge">+New</code> 按钮,在下拉框中选择 <code class="highlighter-rouge">New Model</code>。</p>
-  </li>
-  <li>
-    <p>输入 model 的名字和可选的描述。</p>
-  </li>
-</ol>
-
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-name.png" alt="" /></p>
-
-<ol>
-  <li>
-    <p>在 <code class="highlighter-rouge">Fact Table</code> 中,为模型选择事实表。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-fact-table.png" alt="" /></p>
-  </li>
-  <li>
-    <p>【可选】点击 <code class="highlighter-rouge">Add Lookup Table</code> 按钮添加一个 lookup 表。选择表名和关联类型(内连接或左连接)</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-lookup-table.png" alt="" /></p>
-  </li>
-  <li>
-    <p>点击 <code class="highlighter-rouge">New Join Condition</code> 按钮,左边选择事实表的外键,右边选择 lookup 表的主键。如果有多于一个 join 列重复执行。</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-join-condition.png" alt="" /></p>
-  </li>
-  <li>
-    <p>点击 “OK”,重复4,5步来添加更多的 lookup 表。完成后,点击 “Next”。</p>
-  </li>
-  <li>
-    <p><code class="highlighter-rouge">Dimensions</code> 页面允许选择在子 cube 中用作维度的列,然后点击 <code class="highlighter-rouge">Columns</code> 列,在下拉框中选择需要的列。<br />
- <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-dimensions.png" alt="" /></p>
-  </li>
-  <li>
-    <p>点击 “Next” 到达 “Measures” 页面,选择作为 measure 的列,其只能从事实表中选择。</p>
-  </li>
-</ol>
-
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-measures.png" alt="" /></p>
-
-<ol>
-  <li>
-    <p>点击 “Next” 到达 “Settings” 页面,如果事实表中的数据每日增长,选择 <code class="highlighter-rouge">Partition Date Column</code> 中相应的 日期列以及日期格式,否则就将其留白。</p>
-  </li>
-  <li>
-    <p>【可选】选择是否需要 “time of the day” 列,默认情况下为 <code class="highlighter-rouge">No</code>。如果选择 <code class="highlighter-rouge">Yes</code>, 选择 <code class="highlighter-rouge">Partition Time Column</code> 中相应的 time 列以及 time 格式</p>
-
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-partition-column.png" alt="" /></p>
-  </li>
-  <li>
-    <p>【可选】如果在从 hive 抽取数据时候想做一些筛选,可以在 <code class="highlighter-rouge">Filter</code> 中输入筛选条件。</p>
-  </li>
-  <li>
-    <p>点击 <code class="highlighter-rouge">Save</code> 然后选择 <code class="highlighter-rouge">Yes</code> 来保存 data model。创建完成,data model 就会列在左边 <code class="highlighter-rouge">Models</code> 列表中。<br />
-   <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/6 model-created.png" alt="" /></p>
-  </li>
-</ol>
-
-<h3 id="iii--cube">III. 新建 Cube</h3>
-
-<p>创建完 data model,可以开始创建 cube。<br />
-点击顶部 <code class="highlighter-rouge">Model</code>,然后点击 <code class="highlighter-rouge">Models</code> 标签。点击 <code class="highlighter-rouge">+New</code> 按钮,在下拉框中选择 <code class="highlighter-rouge">New Cube</code>。<br />
-    <img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 new-cube.png" alt="" /></p>
-
-<p><strong>步骤1. Cube 信息</strong></p>
 
-<ol>
-  <li>选择 data model,输入 cube 名字;点击 <code class="highlighter-rouge">Next</code> 进行下一步。</li>
-</ol>
 
-<p>cube 名字可以使用字母,数字和下划线(空格不允许)。<code class="highlighter-rouge">Notification Email List</code> 是运用来通知job执行成功或失败情况的邮箱列表。<code class="highlighter-rouge">Notification Events</code> 是触发事件的状态。</p>
 
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 cube-info.png" alt="" /></p>
 
-<p><strong>步骤2. 维度</strong></p>
+  
 
-<ol>
-  <li>
-    <p>点击 <code class="highlighter-rouge">Add Dimension</code>,在弹窗中显示的事实表和 lookup 表里勾选输入需要的列。Lookup 表的列有2个选项:“Normal” 和 “Derived”(默认)。“Normal” 添加一个普通独立的维度列,“Derived” 添加一个 derived 维度,derived 维度不会计算入 cube,将由事实表的外键推算出。阅读更多【如何优化 cube】(/docs15/howto/howto_optimize_cubes.html)。</p>
+  
+    
+  
 
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/7 cube-dimension-batch.png" alt="" /></p>
-  </li>
-  <li>
-    <p>选择所有维度后点击 “Next”。</p>
-  </li>
-</ol>
 
-<p><strong>步骤3. 度量</strong></p>
 
-<ol>
-  <li>
-    <p>点击 <code class="highlighter-rouge">+Measure</code> 按钮添加一个新的度量。</p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_use_restapi.html" class="list-group-item-lay pjaxlink ">Use RESTful API</a>
+      </li>      
+      
 
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 meas-+meas.png" alt="" /></p>
-  </li>
-  <li>
-    <p>根据它的表达式共有8种不同类型的度量:<code class="highlighter-rouge">SUM</code>、<code class="highlighter-rouge">MAX</code>、<code class="highlighter-rouge">MIN</code>、<code class="highlighter-rouge">COUNT</code>、<code class="highlighter-rouge">COUNT_DISTINCT</code> <code class="highlighter-rouge">TOP_N</code>, <code class="highlighter-rouge">EXTENDED_COLUMN</code> 和 <code class="highlighter-rouge">PERCENTILE</code>。请合理选择 <code class="highlighter-rouge">COUNT_DISTINCT</code> 和 <code class="highlighter-rouge">TOP_N</code> 返回类型,它与 cube 的大小相关。</p>
-    <ul>
-      <li>
-        <p>SUM</p>
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-sum.png" alt="" /></p>
-      </li>
-      <li>
-        <p>MIN</p>
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-min.png" alt="" /></p>
-      </li>
-      <li>
-        <p>MAX</p>
+  
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-max.png" alt="" /></p>
-      </li>
-      <li>
-        <p>COUNT</p>
+  
+    
+  
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-count.png" alt="" /></p>
-      </li>
-      <li>
-        <p>DISTINCT_COUNT<br />
-这个度量有两个实现:<br />
-1)近似实现 HyperLogLog,选择可接受的错误率,低错误率需要更多存储;<br />
-2)精确实现 bitmap(具体限制请看 https://issues.apache.org/jira/browse/KYLIN-1186)</p>
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-distinct.png" alt="" /></p>
-      </li>
-    </ul>
 
-    <p>注意:distinct 是一种非常重的数据类型,和其他度量相比构建和查询会更慢。</p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_build_cube_with_restapi.html" class="list-group-item-lay pjaxlink ">用 API 构建 Cube</a>
+      </li>      
+      
 
-    <ul>
-      <li>TOP_N<br />
-TopN 度量在每个维度结合时预计算,它比未预计算的在查询时间上性能更好;需要两个参数:一是被用来作为 Top 记录的度量列,Kylin 将计算它的 SUM 值并做倒序排列;二是 literal ID,代表最 Top 的记录,例如 seller_id;</li>
-    </ul>
 
-    <p>合理的选择返回类型,将决定多少 top 记录被监察:top 10, top 100, top 500, top 1000, top 5000 or top 10000。</p>
 
-    <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-topn.png" alt="" /></p>
+  
 
-    <ul>
-      <li>
-        <p>EXTENDED_COLUMN<br />
-Extended_Column 作为度量比作为维度更节省空间。一列和零一列可以生成新的列。</p>
+  
+    
+  
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-extended_column.png" alt="" /></p>
-      </li>
-      <li>
-        <p>PERCENTILE<br />
-Percentile 代表了百分比。值越大,错误就越少。100为最合适的值。</p>
 
-        <p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/8 measure-percentile.png" alt="" /></p>
-      </li>
-    </ul>
-  </li>
-</ol>
 
-<p><strong>步骤4. 更新设置</strong></p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_optimize_cubes.html" class="list-group-item-lay pjaxlink ">优化 Cube 设计</a>
+      </li>      
+      
 
-<p>这一步骤是为增量构建 cube 而设计的。</p>
 
-<p><code class="highlighter-rouge">Auto Merge Thresholds</code>: 自动合并小的 segments 到中等甚至更大的 segment。如果不想自动合并,删除默认2个选项。</p>
 
-<p><code class="highlighter-rouge">Volatile Range</code>: 默认为0,会自动合并所有可能的 cube segments,或者用 ‘Auto Merge’ 将不会合并最新的 [Volatile Range] 天的 cube segments。</p>
+  
 
-<p><code class="highlighter-rouge">Retention Threshold</code>: 只会保存 cube 过去几天的 segment,旧的 segment 将会自动从头部删除;0表示不启用这个功能。</p>
+  
+    
+  
 
-<p><code class="highlighter-rouge">Partition Start Date</code>: cube 的开始日期.</p>
 
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/9 refresh-setting1.png" alt="" /></p>
 
-<p><strong>步骤5. 高级设置</strong></p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_optimize_build.html" class="list-group-item-lay pjaxlink ">优化 Cube 构建</a>
+      </li>      
+      
 
-<p><code class="highlighter-rouge">Aggregation Groups</code>: Cube 中的维度可以划分到多个聚合组中。默认 kylin 会把所有维度放在一个聚合组,当维度较多时,产生的组合数可能是巨大的,会造成 Cube 爆炸;如果你很好的了解你的查询模式,那么你可以创建多个聚合组。在每个聚合组内,使用 “Mandatory Dimensions”, “Hierarchy Dimensions” 和 “Joint Dimensions” 来进一步优化维度组合。</p>
 
-<p><code class="highlighter-rouge">Mandatory Dimensions</code>: 必要维度,用于总是出现的维度。例如,如果你的查询中总是会带有 “ORDER_DATE” 做为 group by 或 过滤条件, 那么它可以被声明为必要维度。这样一来,所有不含此维度的 cuboid 就可以被跳过计算。</p>
 
-<p><code class="highlighter-rouge">Hierarchy Dimensions</code>: 层级维度,例如 “国家” -&gt; “省” -&gt; “市” 是一个层级;不符合此层级关系的 cuboid 可以被跳过计算,例如 [“省”], [“市”]. 定义层级维度时,将父级别维度放在子维度的左边。</p>
+  
 
-<p><code class="highlighter-rouge">Joint Dimensions</code>:联合维度,有些维度往往一起出现,或者它们的基数非常接近(有1:1映射关系)。例如 “user_id” 和 “email”。把多个维度定义为组合关系后,所有不符合此关系的 cuboids 会被跳过计算。</p>
+  
+    
+  
 
-<p>关于更多维度优化,请阅读这个博客: <a href="/blog/2016/02/18/new-aggregation-group/">新的聚合组</a></p>
 
-<p><code class="highlighter-rouge">Rowkeys</code>: 是由维度编码值组成。”Dictionary” (字典)是默认的编码方式; 字典只能处理中低基数(少于一千万)的维度;如果维度基数很高(如大于1千万), 选择 “false” 然后为维度输入合适的长度,通常是那列的最大长度值; 如果超过最大值,会被截断。请注意,如果没有字典编码,cube 的大小可能会非常大。</p>
 
-<p>你可以拖拽维度列去调整其在 rowkey 中位置; 位于rowkey前面的列,将可以用来大幅缩小查询的范围。通常建议将 mandantory 维度放在开头, 然后是在过滤 ( where 条件)中起到很大作用的维度;如果多个列都会被用于过滤,将高基数的维度(如 user_id)放在低基数的维度(如 age)的前面。</p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_backup_metadata.html" class="list-group-item-lay pjaxlink ">备份元数据</a>
+      </li>      
+      
 
-<p><code class="highlighter-rouge">Mandatory Cuboids</code>: 维度组合白名单。确保你想要构建的 cuboid 能被构建。</p>
 
-<p><code class="highlighter-rouge">Cube Engine</code>: cube 构建引擎。有两种:MapReduce 和 Spark。如果你的 cube 只有简单度量(SUM, MIN, MAX),建议使用 Spark。如果 cube 中有复杂类型度量(COUNT DISTINCT, TOP_N),建议使用 MapReduce。</p>
 
-<p><code class="highlighter-rouge">Advanced Dictionaries</code>: “Global Dictionary” 是用于精确计算 COUNT DISTINCT 的字典, 它会将一个非 integer的值转成 integer,以便于 bitmap 进行去重。如果你要计算 COUNT DISTINCT 的列本身已经是 integer 类型,那么不需要定义 Global Dictionary。 Global Dictionary 会被所有 segment 共享,因此支持在跨 segments 之间做上卷去重操作。请注意,Global Dictionary 随着数据的加载,可能会不断变大。</p>
+  
 
-<p>“Segment Dictionary” 是另一个用于精确计算 COUNT DISTINCT 的字典,与 Global Dictionary 不同的是,它是基于一个 segment 的值构建的,因此不支持跨 segments 的汇总计算。如果你的 cube 不是分区的或者能保证你的所有 SQL 按照 partition_column 进行 group by, 那么你应该使用 “Segment Dictionary” 而不是 “Global Dictionary”,这样可以避免单个字典过大的问题。</p>
+  
+    
+  
 
-<p>请注意:”Global Dictionary” 和 “Segment Dictionary” 都是单向编码的字典,仅用于 COUNT DISTINCT 计算(将非 integer 类型转成 integer 用于 bitmap计算),他们不支持解码,因此不能为普通维度编码。</p>
 
-<p><code class="highlighter-rouge">Advanced Snapshot Table</code>: 为全局 lookup 表而设计,提供不同的存储类型。</p>
 
-<p><code class="highlighter-rouge">Advanced ColumnFamily</code>: 如果有超过一个的COUNT DISTINCT 或 TopN 度量, 你可以将它们放在更多列簇中,以优化与HBase 的I/O。</p>
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li class="navlist">
+        <a href="/cn/docs23/howto/howto_cleanup_storage.html" class="list-group-item-lay pjaxlink ">清理存储</a>
+      </li>      
+      
 
-<p><strong>步骤6. 重写配置</strong></p>
 
-<p>Kylin 允许在 Cube 级别覆盖部分 kylin.properties 中的配置,你可以在这里定义覆盖的属性。如果你没有要配置的,点击 <code class="highlighter-rouge">Next</code> 按钮。</p>
 
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/10 configuration.png" alt="" /></p>
 
-<p><strong>步骤7. 概览 &amp; 保存</strong></p>
 
-<p>你可以概览你的 cube 并返回之前的步骤进行修改。点击 <code class="highlighter-rouge">Save</code> 按钮完成 cube 创建。</p>
 
-<p><img src="/images/tutorial/1.5/Kylin-Cube-Creation-Tutorial/11 overview.png" alt="" /></p>
 
-<p>恭喜,cube 创建好了,你可以去构建和玩它了。</p>
+        <ul>
+  </div>
+</div>
+    
 
-							</article>
-						</div>
-					</div>
-				</div>
+    </ul>
+</div>
 			</div>
 		</div>		
 		<!--