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/01/29 14:05:21 UTC

svn commit: r1822508 [32/40] - in /kylin/site: ./ blog/ blog/2018/ blog/2018/01/ blog/2018/01/01/ blog/2018/01/01/kylin-and-superset/ cn/docs21/install/ cn/docs23/ cn/docs23/howto/ cn/docs23/install/ cn/docs23/tutorial/ development/ docs21/ docs21/gett...

Added: kylin/site/docs23/tutorial/cube_streaming.html
URL: http://svn.apache.org/viewvc/kylin/site/docs23/tutorial/cube_streaming.html?rev=1822508&view=auto
==============================================================================
--- kylin/site/docs23/tutorial/cube_streaming.html (added)
+++ kylin/site/docs23/tutorial/cube_streaming.html Mon Jan 29 14:05:18 2018
@@ -0,0 +1,4334 @@
+<!--
+* 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 | Scalable Cubing from Kafka</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_streaming.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">Scalable Cubing from Kafka</h1>
+							
+							
+							<article class="post-content" >	
+							<p>Kylin v1.6 releases the scalable streaming cubing function, it leverages Hadoop to consume the data from Kafka to build the cube, you can check <a href="/blog/2016/10/18/new-nrt-streaming/">this blog</a> for the high level design. This doc is a step by step tutorial, illustrating how to create and build a sample cube;</p>
+
+<h2 id="preparation">Preparation</h2>
+<p>To finish this tutorial, you need a Hadoop environment which has kylin v1.6.0 or above installed, and also have a Kafka (v0.10.0 or above) running; Previous Kylin version has a couple issues so please upgrade your Kylin instance at first.</p>
+
+<p>In this tutorial, we will use Hortonworks HDP 2.2.4 Sandbox VM + Kafka v0.10.0(Scala 2.10) as the environment.</p>
+
+<h2 id="install-kafka-01000-and-kylin">Install Kafka 0.10.0.0 and Kylin</h2>
+<p>Don’t use HDP 2.2.4’s build-in Kafka as it is too old, stop it first if it is running.</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">curl -s http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz | tar -xz -C /usr/local/
+
+cd /usr/local/kafka_2.10-0.10.0.0/
+
+bin/kafka-server-start.sh config/server.properties &amp;</code></pre></div>
+
+<p>Download the Kylin v1.6 from download page, expand the tar ball in /usr/local/ folder.</p>
+
+<h2 id="create-sample-kafka-topic-and-populate-data">Create sample Kafka topic and populate data</h2>
+
+<p>Create a sample topic “kylindemo”, with 3 partitions:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic kylindemo
+Created topic "kylindemo".</code></pre></div>
+
+<p>Put sample data to this topic; Kylin has an utility class which can do this;</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">export KAFKA_HOME=/usr/local/kafka_2.10-0.10.0.0
+export KYLIN_HOME=/usr/local/apache-kylin-1.6.0-bin
+
+cd $KYLIN_HOME
+./bin/kylin.sh org.apache.kylin.source.kafka.util.KafkaSampleProducer --topic kylindemo --broker localhost:9092</code></pre></div>
+
+<p>This tool will send 100 records to Kafka every second. Please keep it running during this tutorial. You can check the sample message with kafka-console-consumer.sh now:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">cd $KAFKA_HOME
+bin/kafka-console-consumer.sh --zookeeper localhost:2181 --bootstrap-server localhost:9092 --topic kylindemo --from-beginning
+{"amount":63.50375137330458,"category":"TOY","order_time":1477415932581,"device":"Other","qty":4,"user":{"id":"bf249f36-f593-4307-b156-240b3094a1c3","age":21,"gender":"Male"},"currency":"USD","country":"CHINA"}
+{"amount":22.806058795736583,"category":"ELECTRONIC","order_time":1477415932591,"device":"Andriod","qty":1,"user":{"id":"00283efe-027e-4ec1-bbed-c2bbda873f1d","age":27,"gender":"Female"},"currency":"USD","country":"INDIA"}</code></pre></div>
+
+<h2 id="define-a-table-from-streaming">Define a table from streaming</h2>
+<p>Start Kylin server with “$KYLIN_HOME/bin/kylin.sh start”, login Kylin Web GUI at http://sandbox:7070/kylin/, select an existing project or create a new project; Click “Model” -&gt; “Data Source”, then click the icon “Add Streaming Table”;</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/1_Add_streaming_table.png" alt="" /></p>
+
+<p>In the pop-up dialogue, enter a sample record which you got from the kafka-console-consumer, click the “»” button, Kylin parses the JSON message and listS all the properties;</p>
+
+<p>You need give a logic table name for this streaming data source; The name will be used for SQL query later; here enter “STREAMING_SALES_TABLE” as an example in the “Table Name” field.</p>
+
+<p>You need select a timestamp field which will be used to identify the time of a message; Kylin can derive other time values like “year_start”, “quarter_start” from this time column, which can give your more flexibility on building and querying the cube. Here check “order_time”. You can deselect those properties which are not needed for cube. Here let’s keep all fields.</p>
+
+<p>Notice that Kylin supports structured (or say “embedded”) message from v1.6, it will convert them into a flat table structure. By default use “_” as the separator of the structed properties.</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/2_Define_streaming_table.png" alt="" /></p>
+
+<p>Click “Next”. On this page, provide the Kafka cluster information; Enter “kylindemo” as “Topic” name; The cluster has 1 broker, whose host name is “sandbox”, port is “9092”, click “Save”.</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/3_Kafka_setting.png" alt="" /></p>
+
+<p>In “Advanced setting” section, the “timeout” and “buffer size” are the configurations for connecting with Kafka, keep them.</p>
+
+<p>In “Parser Setting”, by default Kylin assumes your message is JSON format, and each record’s timestamp column (specified by “tsColName”) is a bigint (epoch time) value; in this case, you just need set the “tsColumn” to “order_time”;</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/3_Paser_setting.png" alt="" /></p>
+
+<p>In real case if the timestamp value is a string valued timestamp like “Jul 20, 2016 9:59:17 AM”, you need specify the parser class with “tsParser” and the time pattern with “tsPattern” like this:</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/3_Paser_time.png" alt="" /></p>
+
+<p>Click “Submit” to save the configurations. Now a “Streaming” table is created.</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/4_Streaming_table.png" alt="" /></p>
+
+<h2 id="define-data-model">Define data model</h2>
+<p>With the table defined in previous step, now we can create the data model. The step is almost the same as you create a normal data model, but it has two requirement:</p>
+
+<ul>
+  <li>Streaming Cube doesn’t support join with lookup tables; When define the data model, only select fact table, no lookup table;</li>
+  <li>Streaming Cube must be partitioned; If you’re going to build the Cube incrementally at minutes level, select “MINUTE_START” as the cube’s partition date column. If at hours level, select “HOUR_START”.</li>
+</ul>
+
+<p>Here we pick 13 dimension and 2 measure columns:</p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/5_Data_model_dimension.png" alt="" /></p>
+
+<p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/6_Data_model_measure.png" alt="" /><br />
+Save the data model.</p>
+
+<h2 id="create-cube">Create Cube</h2>
+
+<p>The streaming Cube is almost the same as a normal cube. a couple of points need get your attention:</p>
+
+<ul>
+  <li>The partition time column should be a dimension of the Cube. In Streaming OLAP the time is always a query condition, and Kylin will leverage this to narrow down the scanned partitions.</li>
+  <li>Don’t use “order_time” as dimension as that is pretty fine-grained; suggest to use “mintue_start”, “hour_start” or other, depends on how you will inspect the data.</li>
+  <li>Define “year_start”, “quarter_start”, “month_start”, “day_start”, “hour_start”, “minute_start” as a hierarchy to reduce the combinations to calculate.</li>
+  <li>In the “refersh setting” step, create more merge ranges, like 0.5 hour, 4 hours, 1 day, and then 7 days; This will help to control the cube segment number.</li>
+  <li>
+    <p>In the “rowkeys” section, drag&amp;drop the “minute_start” to the head position, as for streaming queries, the time condition is always appeared; putting it to head will help to narrow down the scan range.</p>
+
+    <p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/8_Cube_dimension.png" alt="" /></p>
+
+    <p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/9_Cube_measure.png" alt="" /></p>
+
+    <p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/10_agg_group.png" alt="" /></p>
+
+    <p><img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/11_Rowkey.png" alt="" /></p>
+  </li>
+</ul>
+
+<p>Save the cube.</p>
+
+<h2 id="run-a-build">Run a build</h2>
+
+<p>You can trigger the build from web GUI, by clicking “Actions” -&gt; “Build”, or sending a request to Kylin RESTful API with ‘curl’ command:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '{ "sourceOffsetStart": 0, "sourceOffsetEnd": 9223372036854775807, "buildType": "BUILD"}' http://localhost:7070/kylin/api/cubes/{your_cube_name}/build2</code></pre></div>
+
+<p>Please note the API endpoint is different from a normal cube (this URL end with “build2”).</p>
+
+<p>Here 0 means from the last position, and 9223372036854775807 (Long.MAX_VALUE) means to the end position on Kafka topic. If it is the first time to build (no previous segment), Kylin will seek to beginning of the topics as the start position.</p>
+
+<p>In the “Monitor” page, a new job is generated; Wait it 100% finished.</p>
+
+<h2 id="click-the-insight-tab-compose-a-sql-to-run-eg">Click the “Insight” tab, compose a SQL to run, e.g:</h2>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">select minute_start, count(*), sum(amount), sum(qty) from streaming_sales_table group by minute_start order by minute_start</code></pre></div>
+
+<p>The result looks like below.<br />
+<img src="/images/tutorial/1.6/Kylin-Cube-Streaming-Tutorial/13_Query_result.png" alt="" /></p>
+
+<h2 id="automate-the-build">Automate the build</h2>
+
+<p>Once the first build and query got successfully, you can schedule incremental builds at a certain frequency. Kylin will record the offsets of each build; when receive a build request, it will start from the last end position, and then seek the latest offsets from Kafka. With the REST API you can trigger it with any scheduler tools like Linux cron:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">crontab -e
+*/5 * * * * curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '{ "sourceOffsetStart": 0, "sourceOffsetEnd": 9223372036854775807, "buildType": "BUILD"}' http://localhost:7070/kylin/api/cubes/{your_cube_name}/build2</code></pre></div>
+
+<p>Now you can site down and watch the cube be automatically built from streaming. And when the cube segments accumulate to bigger time range, Kylin will automatically merge them into a bigger segment.</p>
+
+<h2 id="trouble-shootings">Trouble shootings</h2>
+
+<ul>
+  <li>You may encounter the following error when run “kylin.sh”:</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Producer
+	at java.lang.Class.getDeclaredMethods0(Native Method)
+	at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
+	at java.lang.Class.getMethod0(Class.java:2856)
+	at java.lang.Class.getMethod(Class.java:1668)
+	at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
+	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
+Caused by: java.lang.ClassNotFoundException: org.apache.kafka.clients.producer.Producer
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
+	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
+	at java.security.AccessController.doPrivileged(Native Method)
+	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
+	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
+	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
+	... 6 more</code></pre></div>
+
+<p>The reason is Kylin wasn’t able to find the proper Kafka client jars; Make sure you have properly set “KAFKA_HOME” environment variable.</p>
+
+<ul>
+  <li>Get “killed by admin” error in the “Build Cube” step</li>
+</ul>
+
+<p>Within a Sandbox VM, YARN may not allocate the requested memory resource to MR job as the “inmem” cubing algorithm requests more memory. You can bypass this by requesting less memory: edit “conf/kylin_job_conf_inmem.xml”, change the following two parameters like this:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">&lt;property&gt;
+        &lt;name&gt;mapreduce.map.memory.mb&lt;/name&gt;
+        &lt;value&gt;1072&lt;/value&gt;
+        &lt;description&gt;&lt;/description&gt;
+    &lt;/property&gt;
+
+    &lt;property&gt;
+        &lt;name&gt;mapreduce.map.java.opts&lt;/name&gt;
+        &lt;value&gt;-Xmx800m&lt;/value&gt;
+        &lt;description&gt;&lt;/description&gt;
+    &lt;/property&gt;</code></pre></div>
+
+<ul>
+  <li>If there already be bunch of history messages in Kafka and you don’t want to build from the very beginning, you can trigger a call to set the current end position as the start for the cube:</li>
+</ul>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '{ "sourceOffsetStart": 0, "sourceOffsetEnd": 9223372036854775807, "buildType": "BUILD"}' http://localhost:7070/kylin/api/cubes/{your_cube_name}/init_start_offsets</code></pre></div>
+
+<ul>
+  <li>If some build job got error and you discard it, there will be a hole (or say gap) left in the Cube. Since each time Kylin will build from last position, you couldn’t expect the hole be filled by normal builds. Kylin provides API to check and fill the holes</li>
+</ul>
+
+<p>Check holes:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">curl -X GET --user ADMINN:KYLIN -H "Content-Type: application/json;charset=utf-8" http://localhost:7070/kylin/api/cubes/{your_cube_name}/holes</code></pre></div>
+
+<p>If the result is an empty arrary, means there is no hole; Otherwise, trigger Kylin to fill them:</p>
+
+<div class="highlight"><pre><code class="language-groff" data-lang="groff">curl -X PUT --user ADMINN:KYLIN -H "Content-Type: application/json;charset=utf-8" http://localhost:7070/kylin/api/cubes/{your_cube_name}/holes</code></pre></div>
+
+
+							</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>