Added: kylin/site/docs23/tutorial/cube_spark.html
URL: 
http://svn.apache.org/viewvc/kylin/site/docs23/tutorial/cube_spark.html?rev=1822508&view=auto
==============================================================================
--- kylin/site/docs23/tutorial/cube_spark.html (added)
+++ kylin/site/docs23/tutorial/cube_spark.html Mon Jan 29 14:05:18 2018
@@ -0,0 +1,4264 @@
+<!--
+* 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 | Build Cube with Spark</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="stylesheet" href="/assets/css/pygments.css">
+
+  <link rel="canonical" 
href="http://kylin.apache.org/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]-->
+<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 class="text-center" style="
+      position: relative;
+      top: 66px;
+      width: 1080px;
+      margin: 0 auto;
+      z-index: 11;
+      margin-top: -253px;
+      text-align: right;"
+    >
+      <a href="http://apache.org/foundation/contributing.html"; title="Support 
Apache" style="margin-left: 150px;">
+          <img src="https://www.apache.org/images/SupportApache-small.png"; 
style="height: 150px; width: 150px;">
+      </a>
+    </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="/docs21" >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="container">
+                       <div class="row">
+                               <!--
+* 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-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg" 
id="nside1" style=" padding-top: 2em">
+    <ul class="nav nav-pills nav-stacked">
+    
+    <li><a href="#titleGetting Started" data-toggle="collapse" 
id="navtitle">Getting Started</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/index.html" class="list-group-item-lay pjaxlink" 
id="navlist">Overview</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/release_notes.html" class="list-group-item-lay 
pjaxlink" id="navlist">Release Notes</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/concepts.html" 
class="list-group-item-lay pjaxlink" id="navlist">Technical Concepts</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/terminology.html" 
class="list-group-item-lay pjaxlink" id="navlist">Terminology</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/faq.html" class="list-group-item-lay 
pjaxlink" id="navlist">FAQ</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/gettingstarted/events.html" 
class="list-group-item-lay pjaxlink" id="navlist">Events and 
Conferences</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+      <li><a href="/docs23/gettingstarted/best_practices.html" 
class="list-group-item-lay pjaxlink" id="navlist">Community Best 
Practices</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleInstallation" data-toggle="collapse" 
id="navtitle">Installation</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/index.html" class="list-group-item-lay 
pjaxlink" id="navlist">Installation Guide</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/hadoop_env.html" class="list-group-item-lay 
pjaxlink" id="navlist">Hadoop Environment</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_cluster.html" 
class="list-group-item-lay pjaxlink" id="navlist">Deploy in Cluster 
Mode</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/advance_settings.html" 
class="list-group-item-lay pjaxlink" id="navlist">Advanced Settings</a></li>    
  
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_docker.html" 
class="list-group-item-lay pjaxlink" id="navlist">Run Kylin with 
Docker</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/install/kylin_aws_emr.html" 
class="list-group-item-lay pjaxlink" id="navlist">Install Kylin on AWS 
EMR</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleTutorial" data-toggle="collapse" 
id="navtitle">Tutorial</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/kylin_sample.html" 
class="list-group-item-lay pjaxlink" id="navlist">Quick Start with Sample 
Cube</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/web.html" class="list-group-item-lay 
pjaxlink" id="navlist">Web Interface</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/create_cube.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Wizard</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_build_job.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Build and Job 
Monitoring</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/acl.html" class="list-group-item-lay 
pjaxlink" id="navlist">Cube Permission (v2.1.x)</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/project_level_acl.html" 
class="list-group-item-lay pjaxlink" id="navlist">Project Level ACL</a></li>    
  
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_spark.html" 
class="list-group-item-lay pjaxlink" id="navlist">Build Cube with 
Spark</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/cube_build_performance.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cube Build Tuning</a></li>    
  
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleIntegration" data-toggle="collapse" 
id="navtitle">Integration</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/odbc.html" class="list-group-item-lay 
pjaxlink" id="navlist">Kylin ODBC Driver</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/tableau.html" class="list-group-item-lay 
pjaxlink" id="navlist">Tableau 8</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/tableau_91.html" 
class="list-group-item-lay pjaxlink" id="navlist">Tableau 9</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/powerbi.html" class="list-group-item-lay 
pjaxlink" id="navlist">MS Excel and Power BI</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/microstrategy.html" 
class="list-group-item-lay pjaxlink" id="navlist">MicroStrategy</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/squirrel.html" class="list-group-item-lay 
pjaxlink" id="navlist">SQuirreL</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/flink.html" class="list-group-item-lay 
pjaxlink" id="navlist">Apache Flink</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/hue.html" class="list-group-item-lay 
pjaxlink" id="navlist">Apache Hue</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/tutorial/Qlik.html" class="list-group-item-lay 
pjaxlink" id="navlist">Qlik Sense</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+    <li><a href="#titleHow To" data-toggle="collapse" id="navtitle">How 
To</a></li>
+    <div class="collapse in">
+       <div class="list-group" id="list1">
+    <ul style="list-style-type:disc">
+    
+
+
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_restapi.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use RESTful API</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_build_cube_with_restapi.html" 
class="list-group-item-lay pjaxlink" id="navlist">Build Cube with API</a></li>  
    
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_optimize_cubes.html" 
class="list-group-item-lay pjaxlink" id="navlist">Optimize Cube Design</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_optimize_build.html" 
class="list-group-item-lay pjaxlink" id="navlist">Optimize Cube Build</a></li>  
    
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_backup_metadata.html" 
class="list-group-item-lay pjaxlink" id="navlist">Backup Metadata</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_cleanup_storage.html" 
class="list-group-item-lay pjaxlink" id="navlist">Cleanup Storage</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_jdbc.html" class="list-group-item-lay 
pjaxlink" id="navlist">Kylin JDBC Driver</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_upgrade.html" 
class="list-group-item-lay pjaxlink" id="navlist">Upgrade From Old 
Versions</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_ldap_and_sso.html" 
class="list-group-item-lay pjaxlink" id="navlist">Secure with LDAP and 
SSO</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_beeline.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Beeline for Hive</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_update_coprocessor.html" 
class="list-group-item-lay pjaxlink" id="navlist">Update Coprocessor</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_install_ranger_kylin_plugin.html" 
class="list-group-item-lay pjaxlink" id="navlist">The Ranger Kylin Plugin 
Installation Guide</a></li>      
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_enable_zookeeper_acl.html" 
class="list-group-item-lay pjaxlink" id="navlist">Enable zookeeper acl</a></li> 
     
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_setup_systemcube.html" 
class="list-group-item-lay pjaxlink" id="navlist">Set Up System Cube</a></li>   
   
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_cube_planner.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Cube Planner</a></li>     
 
+      
+
+
+
+  
+      
+
+  
+    
+  
+
+
+
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+  
+    
+      <li><a href="/docs23/howto/howto_use_dashboard.html" 
class="list-group-item-lay pjaxlink" id="navlist">Use Dashboard</a></li>      
+      
+
+
+
+
+
+
+
+        <ul>
+  </div>
+</div>
+    
+
+    </ul>
+</div>
+
+                               <div class="col-md-9 col-lg-9 col-xs-14 aside2">
+                                       <div id="container">
+                                               <div id="pjax">
+                                                       <h1 
class="post-title">Build Cube with Spark</h1>
+                                                       
+                                                       
+                                                       <article 
class="post-content" > 
+                                                       <p>Kylin v2.0 
introduces the Spark cube engine, it uses Apache Spark to replace MapReduce in 
the build cube step; You can check <a 
href="/blog/2017/02/23/by-layer-spark-cubing/">this blog</a> for an overall 
picture. The current document uses the sample cube to demo how to try the new 
engine.</p>
+
+<h2 id="preparation">Preparation</h2>
+<p>To finish this tutorial, you need a Hadoop environment which has Kylin 
v2.1.0 or above installed. Here we will use Hortonworks HDP 2.4 Sandbox VM, the 
Hadoop components as well as Hive/HBase has already been started.</p>
+
+<h2 id="install-kylin-v210-or-above">Install Kylin v2.1.0 or above</h2>
+
+<p>Download the Kylin v2.1.0 for HBase 1.x from Kylin’s download page, and 
then uncompress the tar ball into <em>/usr/local/</em> folder:</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="prepare-kylinenvhadoop-conf-dir">Prepare 
“kylin.env.hadoop-conf-dir”</h2>
+
+<p>To run Spark on Yarn, need specify <strong>HADOOP_CONF_DIR</strong> 
environment variable, which is the directory that contains the (client side) 
configuration files for Hadoop. In many Hadoop distributions the directory is 
“/etc/hadoop/conf”; But Kylin not only need access HDFS, Yarn and Hive, but 
also HBase, so the default directory might not have all necessary files. In 
this case, you need create a new directory and then copying or linking those 
client files (core-site.xml, hdfs-site.xml, yarn-site.xml, hive-site.xml and 
hbase-site.xml) there. In HDP 2.4, there is a conflict between hive-tez and 
Spark, so need change the default engine from “tez” to “mr” when copy 
for Kylin.</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>Now, let Kylin know this directory with property 
“kylin.env.hadoop-conf-dir” in kylin.properties:</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>If this property isn’t set, Kylin will use the directory that 
“hive-site.xml” locates in; while that folder may have no 
“hbase-site.xml”, will get HBase/ZK connection error in Spark.</p>
+
+<h2 id="check-spark-configuration">Check Spark configuration</h2>
+
+<p>Kylin embedes a Spark binary (v2.1.0) in $KYLIN_HOME/spark, all the Spark 
configurations can be managed in $KYLIN_HOME/conf/kylin.properties with prefix 
<em>“kylin.engine.spark-conf.”</em>. These properties will be extracted and 
applied when runs submit Spark job; E.g, if you configure 
“kylin.engine.spark-conf.spark.executor.memory=4G”, Kylin will use 
“–conf spark.executor.memory=4G” as parameter when execute 
“spark-submit”.</p>
+
+<p>Before you run Spark cubing, suggest take a look on these configurations 
and do customization according to your cluster. Below is the default 
configurations, which is also the minimal config for a sandbox (1 executor with 
1GB memory); usually in a normal cluster, need much more executors and each has 
at least 4GB memory and 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>For running on Hortonworks platform, need specify “hdp.version” as Java 
options for Yarn containers, so please uncommment the last three lines in 
kylin.properties.</p>
+
+<p>Besides, in order to avoid repeatedly uploading Spark jars to Yarn, you can 
manually do that once, and then configure the jar’s HDFS location; Please 
note, the HDFS location need be full qualified name.</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>After do that, the config in kylin.properties will be:</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>All the “kylin.engine.spark-conf.*” parameters can be overwritten at 
Cube or Project level, this gives more flexibility to the user.</p>
+
+<h2 id="create-and-modify-sample-cube">Create and modify sample cube</h2>
+
+<p>Run the sample.sh to create the sample cube, and then start Kylin 
server:</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>After Kylin is started, access Kylin web, edit the “kylin_sales” cube, 
in the “Advanced Setting” page, change the “Cube Engine” from 
“MapReduce” to “Spark”:</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/1_cube_engine.png" 
alt="" /></p>
+
+<p>Click “Next” to the “Configuration Overwrites” page, click 
“+Property” to add property “kylin.engine.spark.rdd-partition-cut-mb” 
with value “500” (reasons below):</p>
+
+<p><img 
src="/images/tutorial/2.0/Spark-Cubing-Tutorial/2_overwrite_partition.png" 
alt="" /></p>
+
+<p>The sample cube has two memory hungry measures: a “COUNT DISTINCT” and 
a “TOPN(100)”; Their size estimation can be inaccurate when the source data 
is small: the estimized size is much larger than the real size, that causes 
much more RDD partitions be splitted, which slows down the build. Here 100 is a 
more reasonable number for it. Click “Next” and “Save” to save the 
cube.</p>
+
+<h2 id="build-cube-with-spark">Build Cube with Spark</h2>
+
+<p>Click “Build”, select current date as the build end date. Kylin 
generates a build job in the “Monitor” page, in which the 7th step is the 
Spark cubing. The job engine starts to execute the steps in sequence.</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>When Kylin executes this step, you can monitor the status in Yarn resource 
manager. Click the “Application Master” link will open Spark web UI, it 
shows the progress of each stage and the detailed information.</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>After all steps be successfully executed, the Cube becomes “Ready” and 
you can query it as normal.</p>
+
+<h2 id="troubleshooting">Troubleshooting</h2>
+
+<p>When getting error, you should check “logs/kylin.log” firstly. There 
has the full Spark command that Kylin executes, e.g:</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 
&amp;&amp; /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>You can copy the cmd to execute manually in shell and then tunning the 
parameters quickly; During the execution, you can access Yarn resource manager 
to check more. If the job has already finished, you can check the history info 
in Spark history server.</p>
+
+<p>By default Kylin outputs the history to “hdfs:///kylin/spark-history”, 
you need start Spark history server on that directory, or change to use your 
existing Spark history server’s event directory in conf/kylin.properties with 
parameter “kylin.engine.spark-conf.spark.eventLog.dir” and 
“kylin.engine.spark-conf.spark.history.fs.logDirectory”.</p>
+
+<p>The following command will start a Spark history server instance on 
Kylin’s output directory, before run it making sure you have stopped the 
existing Spark history server in sandbox:</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>In web browser, access “http://sandbox:18080” it shows the job 
history:</p>
+
+<p><img src="/images/tutorial/2.0/Spark-Cubing-Tutorial/9_spark_history.png" 
alt="" /></p>
+
+<p>Click a specific job, there you will see the detail runtime information, 
that is very helpful for trouble shooting and performance tuning.</p>
+
+<h2 id="go-further">Go further</h2>
+
+<p>If you’re a Kylin administrator but new to Spark, suggest you go through 
<a href="https://spark.apache.org/docs/2.1.0/";>Spark documents</a>, and don’t 
forget to update the configurations accordingly. You can enable Spark <a 
href="https://spark.apache.org/docs/2.1.0/job-scheduling.html#dynamic-resource-allocation";>Dynamic
 Resource Allocation</a> so that it can auto scale/shrink for different work 
load. Spark’s performance relies on Cluster’s memory and CPU resource, 
while Kylin’s Cube build is a heavy task when having a complex data model and 
a huge dataset to build at one time. If your cluster resource couldn’t 
fulfill, errors like “OutOfMemorry” will be thrown in Spark executors, so 
please use it properly. For Cube which has UHC dimension, many combinations 
(e.g, a full cube with more than 12 dimensions), or memory hungry measures 
(Count Distinct, Top-N), suggest to use the MapReduce engine. If your Cube 
model is simple, all measures are S
 UM/MIN/MAX/COUNT, source data is small to medium scale, Spark engine would be 
a good choice. Besides, Streaming build isn’t supported in this engine so far 
(KYLIN-2484).</p>
+
+<p>If you have any question, comment, or bug fix, welcome to discuss in 
d...@kylin.apache.org.</p>
+
+                                                       </article>
+                                               </div>
+                                       </div>
+                               </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 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>


Reply via email to