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 [16/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...
Added: kylin/site/cn/docs23/tutorial/cube_spark.html
URL: http://svn.apache.org/viewvc/kylin/site/cn/docs23/tutorial/cube_spark.html?rev=1834820&view=auto
==============================================================================
--- kylin/site/cn/docs23/tutorial/cube_spark.html (added)
+++ kylin/site/cn/docs23/tutorial/cube_spark.html Mon Jul 2 06:08:48 2018
@@ -0,0 +1,4588 @@
+<!--
+* 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 | ç¨ Spark æ建 Cube</title>
+ <meta name="description" content="Apache Kylin Home">
+ <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="canonical" href="http://kylin.apache.org/cn/docs23/tutorial/cube_spark.html">
+ <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]-->
+<!-- Global site tag (gtag.js) - Google Analytics -->
+<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script>
+<script>
+ window.dataLayer = window.dataLayer || [];
+ function gtag(){dataLayer.push(arguments);}
+ gtag('js', new Date());
+
+ gtag('config', 'UA-120788561-1');
+</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>
+<script>
+var _hmt = _hmt || [];
+(function() {
+ var hm = document.createElement("script");
+ hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99";
+ var s = document.getElementsByTagName("script")[0];
+ s.parentNode.insertBefore(hm, s);
+})();
+</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" >
+ <!-- Main Menu -->
+ <nav class="navbar navbar-default" role="navigation" id="nav-wrapper">
+ <div class="container-fluid" id="nav">
+ <!-- Brand and toggle get grouped for better mobile display -->
+ <div class="navbar-header">
+ <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png "></img>
+
+ <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>
+ <ul class="nav icon-navbar">
+ <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>
+
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="navbar-collapse" id="bs-example-navbar-collapse-1">
+ <ul class="nav navbar-nav">
+ <li><a href="/cn">é¦é¡µ</a></li>
+ <li><a href="/cn/docs" >ææ¡£</a></li>
+ <li><a href="/cn/download">ä¸è½½</a></li>
+ <li><a href="/community" >社åº</a></li>
+ <li><a href="/development" >å¼å</a></li>
+ <li><a href="/blog">å客</a></li>
+ <li><a href="/" >English</a></li>
+ </ul>
+
+
+ </div><!-- /.navbar-collapse -->
+ </div><!-- /.container-fluid -->
+ </nav>
+
+ <div id="head" class="parallax normal-header" >
+ <div class="text-center header-apache">
+ <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;">
+ <div>
+ <img src="https://www.apache.org/images/SupportApache-small.png">
+ </div>
+ </a>
+ </div>
+ </div>
+
+ </header>
+
+
+ <div class="container">
+ <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">ç¨ Spark æ建 Cube</h1>
+ <article class="post-content" >
+ <p>Kylin v2.0 ä»ç»äº Spark cube engineï¼å¨ build cube æ¥éª¤ä¸ä½¿ç¨ Apache Spark ä»£æ¿ MapReduceï¼æ¨å¯ä»¥éè¿æ¥ç <a href="/blog/2017/02/23/by-layer-spark-cubing/">è¿ç¯å客</a> çå¾çäºè§£æ´ä½æ
åµãå½åçæ档使ç¨æ ·ä¾ cube 对å¦ä½å°è¯ new engine è¿è¡äºæ¼ç¤ºã</p>
+
+<h2 id="section">åå¤é¶æ®µ</h2>
+<p>æ¨éè¦ä¸ä¸ªå®è£
äº Kylin v2.1.0 å以ä¸çæ¬ç Hadoop ç¯å¢ãä½¿ç¨ Hortonworks HDP 2.4 Sandbox VMï¼å
¶ä¸ Hadoop ç»ä»¶å Hive/HBase å·²ç»å¯å¨äºã</p>
+
+<h2 id="kylin-v210-">å®è£
Kylin v2.1.0 å以ä¸çæ¬</h2>
+
+<p>ä» Kylin çä¸è½½é¡µé¢ä¸è½½éç¨äº HBase 1.x ç Kylin v2.1.0ï¼ç¶åå¨ <em>/usr/local/</em> æ件夹ä¸è§£å tar å
:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">wget http://www-us.apache.org/dist/kylin/apache-kylin-2.1.0/apache-kylin-2.1.0-bin-hbase1x.tar.gz -P /tmp
+
+tar -zxvf /tmp/apache-kylin-2.1.0-bin-hbase1x.tar.gz -C /usr/local/
+
+export KYLIN_HOME=/usr/local/apache-kylin-2.1.0-bin-hbase1x</code></pre></div>
+
+<h2 id="kylinenvhadoop-conf-dir">åå¤ âkylin.env.hadoop-conf-dirâ</h2>
+
+<p>为使 Spark è¿è¡å¨ Yarn ä¸ï¼éæå® <strong>HADOOP_CONF_DIR</strong> ç¯å¢åéï¼å
¶æ¯ä¸ä¸ªå
å« Hadoopï¼å®¢æ·ç«¯) é
ç½®æ件çç®å½ãè®¸å¤ Hadoop åå¸å¼çç®å½è®¾ç½®ä¸º â/etc/hadoop/confâï¼ä½ Kylin ä¸ä»
éè¦è®¿é® HDFSï¼Yarn å Hiveï¼è¿æ HBaseï¼å æ¤é»è®¤çç®å½å¯è½å¹¶æªå
å«ææéè¦çæ件ãå¨æ¤ç¨ä¾ä¸ï¼æ¨éè¦å建ä¸ä¸ªæ°çç®å½ç¶åæ·è´æè
è¿æ¥è¿äºå®¢æ·ç«¯æ件 (core-site.xmlï¼hdfs-site.xmlï¼yarn-site.xmlï¼hive-site.xml å hbase-site.xml) å°è¿ä¸ªç®å½ä¸ãå¨ HDP 2.4 ä¸ï¼hive-tez å Spark ä¹é´æä
¸ªå²çªï¼å æ¤å½ä¸º Kylin è¿è¡å¤å¶æ¶ï¼éè¦å°é»è®¤ç engine ç± âtezâ æ¢ä¸º âmrâã</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">mkdir $KYLIN_HOME/hadoop-conf
+ln -s /etc/hadoop/conf/core-site.xml $KYLIN_HOME/hadoop-conf/core-site.xml
+ln -s /etc/hadoop/conf/hdfs-site.xml $KYLIN_HOME/hadoop-conf/hdfs-site.xml
+ln -s /etc/hadoop/conf/yarn-site.xml $KYLIN_HOME/hadoop-conf/yarn-site.xml
+ln -s /etc/hbase/2.4.0.0-169/0/hbase-site.xml $KYLIN_HOME/hadoop-conf/hbase-site.xml
+cp /etc/hive/2.4.0.0-169/0/hive-site.xml $KYLIN_HOME/hadoop-conf/hive-site.xml
+vi $KYLIN_HOME/hadoop-conf/hive-site.xml (change "hive.execution.engine" value from "tez" to "mr")</code></pre></div>
+
+<p>ç°å¨ï¼å¨ kylin.properties ä¸è®¾ç½®å±æ§ âkylin.env.hadoop-conf-dirâ 好让 Kylin ç¥éè¿ä¸ªç®å½:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">kylin.env.hadoop-conf-dir=/usr/local/apache-kylin-2.1.0-bin-hbase1x/hadoop-conf</code></pre></div>
+
+<p>å¦æè¿ä¸ªå±æ§æ²¡æ设置ï¼Kylin å°ä¼ä½¿ç¨ âhive-site.xmlâ ä¸çé»è®¤ç®å½ï¼ç¶èé£ä¸ªæ件夹å¯è½å¹¶æ²¡æ âhbase-site.xmlâï¼ä¼å¯¼è´ Spark ç HBase/ZK è¿æ¥é误ã</p>
+
+<h2 id="spark-">æ£æ¥ Spark é
ç½®</h2>
+
+<p>Kylin å¨ $KYLIN_HOME/spark ä¸åµå
¥ä¸ä¸ª Spark binary (v2.1.0)ï¼ææä½¿ç¨ <em>âkylin.engine.spark-conf.â</em> ä½ä¸ºåç¼ç Spark é
ç½®å±æ§é½è½å¨ $KYLIN_HOME/conf/kylin.properties ä¸è¿è¡ç®¡çãè¿äºå±æ§å½è¿è¡æ交 Spark job æ¶ä¼è¢«æå并åºç¨ï¼ä¾å¦ï¼å¦ææ¨é
ç½® âkylin.engine.spark-conf.spark.executor.memory=4Gâï¼Kylin å°ä¼å¨æ§è¡ âspark-submitâ æä½æ¶ä½¿ç¨ ââconf spark.executor.memory=4Gâ ä½ä¸ºåæ°ã</p>
+
+<p>è¿è¡ Spark cubing åï¼å»ºè®®æ¥çä¸ä¸è¿äºé
ç½®å¹¶æ ¹æ®æ¨é群çæ
åµè¿è¡èªå®ä¹ãä¸é¢æ¯é»è®¤é
ç½®ï¼ä¹æ¯ sandbox æä½è¦æ±çé
ç½® (1 个 1GB memory ç executor)ï¼é常ä¸ä¸ªé群ï¼éè¦æ´å¤ç executors ä¸æ¯ä¸ä¸ªè³å°æ 4GB memory å 2 cores:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">kylin.engine.spark-conf.spark.master=yarn
+kylin.engine.spark-conf.spark.submit.deployMode=cluster
+kylin.engine.spark-conf.spark.yarn.queue=default
+kylin.engine.spark-conf.spark.executor.memory=1G
+kylin.engine.spark-conf.spark.executor.cores=2
+kylin.engine.spark-conf.spark.executor.instances=1
+kylin.engine.spark-conf.spark.eventLog.enabled=true
+kylin.engine.spark-conf.spark.eventLog.dir=hdfs\:///kylin/spark-history
+kylin.engine.spark-conf.spark.history.fs.logDirectory=hdfs\:///kylin/spark-history
+
+#kylin.engine.spark-conf.spark.io.compression.codec=org.apache.spark.io.SnappyCompressionCodec
+
+## uncomment for HDP
+#kylin.engine.spark-conf.spark.driver.extraJavaOptions=-Dhdp.version=current
+#kylin.engine.spark-conf.spark.yarn.am.extraJavaOptions=-Dhdp.version=current
+#kylin.engine.spark-conf.spark.executor.extraJavaOptions=-Dhdp.version=current</code></pre></div>
+
+<p>为äºå¨ Hortonworks å¹³å°ä¸è¿è¡ï¼éè¦å° âhdp.versionâ æå®ä¸º Yarn 容å¨ç Java é项ï¼å æ¤è¯·åæ¶ kylin.properties çæåä¸è¡ã</p>
+
+<p>é¤æ¤ä¹å¤ï¼ä¸ºäºé¿å
éå¤ä¸ä¼ Spark jar å
å° Yarnï¼æ¨å¯ä»¥æå¨ä¸ä¼ ä¸æ¬¡ï¼ç¶åé
ç½® jar å
ç HDFS è·¯å¾ï¼è¯·æ³¨æï¼HDFS è·¯å¾å¿
é¡»æ¯å
¨éå®åã</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">jar cv0f spark-libs.jar -C $KYLIN_HOME/spark/jars/ .
+hadoop fs -mkdir -p /kylin/spark/
+hadoop fs -put spark-libs.jar /kylin/spark/</code></pre></div>
+
+<p>ç¶åï¼è¦å¨ kylin.properties ä¸è¿è¡å¦ä¸é
ç½®:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">kylin.engine.spark-conf.spark.yarn.archive=hdfs://sandbox.hortonworks.com:8020/kylin/spark/spark-libs.jar
+kylin.engine.spark-conf.spark.driver.extraJavaOptions=-Dhdp.version=current
+kylin.engine.spark-conf.spark.yarn.am.extraJavaOptions=-Dhdp.version=current
+kylin.engine.spark-conf.spark.executor.extraJavaOptions=-Dhdp.version=current</code></pre></div>
+
+<p>ææ âkylin.engine.spark-conf.*â åæ°é½å¯ä»¥å¨ Cube æ Project 级å«è¿è¡éåï¼è¿ä¸ºç¨æ·æä¾äºæ大ççµæ´»æ§ã</p>
+
+<h2 id="cube">å建åä¿®æ¹æ ·ä¾ cube</h2>
+
+<p>è¿è¡ sample.sh åå»ºæ ·ä¾ cubeï¼ç¶åå¯å¨ Kylin æå¡å¨:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">$KYLIN_HOME/bin/sample.sh
+$KYLIN_HOME/bin/kylin.sh start</code></pre></div>
+
+<p>Kylin å¯å¨åï¼è®¿é® Kylin ç½ç«ï¼å¨ âAdvanced Settingâ 页ï¼ç¼è¾å为 âkylin_salesâ ç cubeï¼å° âCube Engineâ ç± âMapReduceâ æ¢æ âSparkâ:</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/1_cube_engine.png" alt="" /></p>
+
+<p>ç¹å» âNextâ è¿å
¥ âConfiguration Overwritesâ 页é¢ï¼ç¹å» â+Propertyâ æ·»å å±æ§ âkylin.engine.spark.rdd-partition-cut-mbâ å
¶å¼ä¸º â500â (çç±å¦ä¸):</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/2_overwrite_partition.png" alt="" /></p>
+
+<p>æ ·ä¾ cube æ两个èå°½å
åç度é: âCOUNT DISTINCTâ å âTOPN(100)âï¼å½æºæ°æ®è¾å°æ¶ï¼ä»ä»¬ç大å°ä¼°è®¡çä¸å¤ªåç¡®: é¢ä¼°ç大å°ä¼æ¯çå®ç大å¾å¤ï¼å¯¼è´äºæ´å¤ç RDD partitions 被ååï¼ä½¿å¾ build çé度éä½ã100 对äºå
¶æ¯ä¸ä¸ªè¾ä¸ºåççæ°åãç¹å» âNextâ å âSaveâ ä¿å cubeã</p>
+
+<h2 id="spark--cube">ç¨ Spark æ建 Cube</h2>
+
+<p>ç¹å» âBuildâï¼éæ©å½åæ¥æ为 end dateãKylin ä¼å¨ âMonitorâ 页çæä¸ä¸ªæ建 jobï¼ç¬¬ 7 æ¥æ¯ Spark cubingãJob engine å¼å§æç
§é¡ºåºæ§è¡æ¯ä¸æ¥ã</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/2_job_with_spark.png" alt="" /></p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/3_spark_cubing_step.png" alt="" /></p>
+
+<p>å½ Kylin æ§è¡è¿ä¸æ¥æ¶ï¼æ¨å¯ä»¥çè§ Yarn èµæºç®¡çå¨éçç¶æ. ç¹å» âApplication Masterâ é¾æ¥å°ä¼æå¼ Spark ç UI ç½é¡µï¼å®ä¼æ¾ç¤ºæ¯ä¸ä¸ª stage çè¿åº¦ä»¥å详ç»çä¿¡æ¯ã</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/4_job_on_rm.png" alt="" /></p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/5_spark_web_gui.png" alt="" /></p>
+
+<p>æææ¥éª¤æåæ§è¡åï¼Cube çç¶æå为 âReadyâ ä¸æ¨å¯ä»¥åå¾å¸¸é£æ ·è¿è¡æ¥è¯¢ã</p>
+
+<h2 id="section-1">çé¾è§£ç</h2>
+
+<p>å½åºç° errorï¼æ¨å¯ä»¥é¦å
æ¥ç âlogs/kylin.logâ. å
¶ä¸å
å« Kylin æ§è¡çææ Spark å½ä»¤ï¼ä¾å¦:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">2017-03-06 14:44:38,574 INFO [Job 2d5c1178-c6f6-4b50-8937-8e5e3b39227e-306] spark.SparkExecutable:121 : cmd:export HADOOP_CONF_DIR=/usr/local/apache-kylin-2.1.0-bin-hbase1x/hadoop-conf && /usr/local/apache-kylin-2.1.0-bin-hbase1x/spark/bin/spark-submit --class org.apache.kylin.common.util.SparkEntry --conf spark.executor.instances=1 --conf spark.yarn.queue=default --conf spark.yarn.am.extraJavaOptions=-Dhdp.version=current --conf spark.history.fs.logDirectory=hdfs:///kylin/spark-history --conf spark.driver.extraJavaOptions=-Dhdp.version=current --conf spark.master=yarn --conf spark.executor.extraJavaOptions=-Dhdp.version=current --conf spark.executor.memory=1G --conf spark.eventLog.enabled=true --conf spark.eventLog.dir=hdfs:///kylin/spark-history --conf spark.executor.cores=2 --conf spark.submit.deployMode=cluster --files /etc/hbase/2.4.0.0-169/0/hbase-site.xml --jars /usr/hdp/2.4.0.0-16
9/hbase/lib/htrace-core-3.1.0-incubating.jar,/usr/hdp/2.4.0.0-169/hbase/lib/hbase-client-1.1.2.2.4.0.0-169.jar,/usr/hdp/2.4.0.0-169/hbase/lib/hbase-common-1.1.2.2.4.0.0-169.jar,/usr/hdp/2.4.0.0-169/hbase/lib/hbase-protocol-1.1.2.2.4.0.0-169.jar,/usr/hdp/2.4.0.0-169/hbase/lib/metrics-core-2.2.0.jar,/usr/hdp/2.4.0.0-169/hbase/lib/guava-12.0.1.jarï¼/usr/local/apache-kylin-2.1.0-bin-hbase1x/lib/kylin-job-2.1.0.jar -className org.apache.kylin.engine.spark.SparkCubingByLayer -hiveTable kylin_intermediate_kylin_sales_cube_555c4d32_40bb_457d_909a_1bb017bf2d9e -segmentId 555c4d32-40bb-457d-909a-1bb017bf2d9e -confPath /usr/local/apache-kylin-2.1.0-bin-hbase1x/conf -output hdfs:///kylin/kylin_metadata/kylin-2d5c1178-c6f6-4b50-8937-8e5e3b39227e/kylin_sales_cube/cuboid/ -cubename kylin_sales_cube</code></pre></div>
+
+<p>æ¨å¯ä»¥æ·è´ cmd ä»¥ä¾¿å¨ shell ä¸æå¨æ§è¡ï¼ç¶åå¿«éè¿è¡åæ°è°æ´ï¼æ§è¡æé´ï¼æ¨å¯ä»¥è®¿é® Yarn èµæºç®¡çå¨æ¥çæ´å¤çæ¶æ¯ãå¦æ job å·²ç»å®æäºï¼æ¨å¯ä»¥å¨ Spark history server ä¸æ¥çåå²ä¿¡æ¯ã</p>
+
+<p>Kylin é»è®¤å°åå²ä¿¡æ¯è¾åºå° âhdfs:///kylin/spark-historyâï¼æ¨éè¦å¨è¯¥ç®å½ä¸å¯å¨ Spark history serverï¼æå¨ conf/kylin.properties ä¸ä½¿ç¨åæ° âkylin.engine.spark-conf.spark.eventLog.dirâ å âkylin.engine.spark-conf.spark.history.fs.logDirectoryâ æ¿æ¢ä¸ºæ¨å·²åå¨ç Spark history server çäºä»¶ç®å½ã</p>
+
+<p>ä¸é¢çå½ä»¤å¯ä»¥å¨ Kylin çè¾åºç®å½ä¸å¯å¨ä¸ä¸ª Spark history server å®ä¾ï¼è¿è¡åè¯·ç¡®ä¿ sandbox ä¸å·²åå¨ç Spark history server å
³éäº:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">$KYLIN_HOME/spark/sbin/start-history-server.sh hdfs://sandbox.hortonworks.com:8020/kylin/spark-history</code></pre></div>
+
+<p>æµè§å¨è®¿é® âhttp://sandbox:18080â å°ä¼æ¾ç¤º job åå²:</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/9_spark_history.png" alt="" /></p>
+
+<p>ç¹å»ä¸ä¸ªå
·ä½ç jobï¼è¿è¡æ¶çå
·ä½ä¿¡æ¯å°ä¼å±ç¤ºï¼è¯¥ä¿¡æ¯å¯¹çé¾è§£çåæ§è½è°æ´ææ大ç帮å©ã</p>
+
+<h2 id="section-2">è¿ä¸æ¥</h2>
+
+<p>å¦ææ¨æ¯ Kylin ç管çåä½æ¯å¯¹äº Spark æ¯æ°æï¼å»ºè®®æ¨æµè§ <a href="https://spark.apache.org/docs/2.1.0/">Spark ææ¡£</a>ï¼å«å¿è®°ç¸åºå°å»æ´æ°é
ç½®ãæ¨å¯ä»¥è®© Spark ç <a href="https://spark.apache.org/docs/2.1.0/job-scheduling.html#dynamic-resource-allocation">Dynamic Resource Allocation</a> çæ以便å
¶å¯¹äºä¸åçå·¥ä½è´è½½è½èªå¨ä¼¸ç¼©ãSpark æ§è½ä¾èµäºé群çå
åå CPU èµæºï¼å½æå¤ææ°æ®æ¨¡åå巨大çæ°æ®éä¸æ¬¡æå»ºæ¶ Kylin ç Cube æ建å°ä¼æ¯ä¸é¡¹ç¹éçä»»å¡ãå¦ææ¨çé群èµæºä¸è½å¤æ§è¡ï¼Spark executors å°±ä¼
æåºå¦ âOutOfMemorryâ è¿æ ·çé误ï¼å æ¤è¯·åçç使ç¨ã对äºæ UHC dimensionï¼è¿å¤ç»å (ä¾å¦ï¼ä¸ä¸ª cube è¶
è¿ 12 dimensions)ï¼æèå°½å
åç度é (Count Distinctï¼Top-N) ç Cubeï¼å»ºè®®æ¨ä½¿ç¨ MapReduce engineãå¦ææ¨ç Cube 模åè¾ä¸ºç®åï¼ææçé½æ¯ SUM/MIN/MAX/COUNTï¼æºæ°æ®è§æ¨¡å°è³ä¸çï¼Spark engine å°ä¼æ¯ä¸ªå¥½çéæ©ãé¤æ¤ä¹å¤ï¼Streaming æå»ºå¨ engine ä¸ç®åè¿ä¸æ¯æ(KYLIN-2484)ã</p>
+
+<p>å¦ææ¨æä»»ä½é®é¢ï¼æè§ï¼æ bug ä¿®å¤ï¼æ¬¢è¿å¨ dev@kylin.apache.org ä¸è®¨è®ºã</p>
+
+ </article>
+ </div>
+ </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.
+-->
+
+<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 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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink ">ä½¿ç¨ Dashboard</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/odbc.html" class="list-group-item-lay pjaxlink ">ODBC 驱å¨</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/jdbc.html" class="list-group-item-lay pjaxlink ">JDBC 驱å¨</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/tableau.html" class="list-group-item-lay pjaxlink ">Tableau 8</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink ">Tableau 9</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/powerbi.html" class="list-group-item-lay pjaxlink ">Excel å Power BI æç¨</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/tutorial/squirrel.html" class="list-group-item-lay pjaxlink ">SQuirreL</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_use_restapi.html" class="list-group-item-lay pjaxlink ">Use RESTful API</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_build_cube_with_restapi.html" class="list-group-item-lay pjaxlink ">ç¨ API æ建 Cube</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_optimize_cubes.html" class="list-group-item-lay pjaxlink ">ä¼å Cube 设计</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_optimize_build.html" class="list-group-item-lay pjaxlink ">ä¼å Cube æ建</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_backup_metadata.html" class="list-group-item-lay pjaxlink ">å¤ä»½å
æ°æ®</a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="navlist">
+ <a href="/cn/docs23/howto/howto_cleanup_storage.html" class="list-group-item-lay pjaxlink ">æ¸
çåå¨</a>
+ </li>
+
+
+
+
+
+
+
+
+ <ul>
+ </div>
+</div>
+
+
+ </ul>
+</div>
+ </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>
+ <div class="row">
+ <div class="col-md-12 widget">
+ <div class="widget-body">
+ <div class="footer-img">
+ <a href="http://www.apache.org">
+ <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png">
+ </a>
+ </div>
+ <p style="padding-top: 11px;">
+ 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>.
+ </p>
+ <p style="margin-bottom: 11px;">
+ 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>